PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.5.13
Shortcodes and extra features for Phlox theme v2.5.13
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elements / related-posts.php
auxin-elements / includes / elements Last commit date
about-widget.php 6 years ago accordion-widget.php 6 years ago accordion.php 6 years ago attachment-url.php 6 years ago audio.php 6 years ago before-after.php 6 years ago button.php 6 years ago code.php 6 years ago contact-box.php 6 years ago contact-form.php 6 years ago custom-list.php 6 years ago divider.php 6 years ago dropcap.php 6 years ago facebook.php 6 years ago flickr.php 6 years ago gallery.php 6 years ago general-element-fields.php 6 years ago gmap.php 6 years ago highlight.php 6 years ago image.php 6 years ago instagram-feed.php 6 years ago latest-items.php 8 years ago latest-posts-slider.php 6 years ago popular-posts-widget.php 6 years ago quote.php 6 years ago recent-posts-grid-carousel.php 6 years ago recent-posts-land-style.php 6 years ago recent-posts-masonry.php 6 years ago recent-posts-tiles-carousel.php 6 years ago recent-posts-tiles.php 6 years ago recent-posts-timeline.php 6 years ago recent-posts-widget.php 6 years ago recent-products.php 6 years ago related-posts.php 8 years ago sample-element.php 6 years ago search.php 6 years ago socials-list.php 6 years ago staff.php 6 years ago tab-widget.php 6 years ago tabs.php 6 years ago testimonial.php 6 years ago text.php 6 years ago touch-slider.php 6 years ago video.php 6 years ago
related-posts.php
131 lines
1 <?php
2
3 /**
4 * Related Posts for any post type
5 *
6 * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
7 * @param string $shortcode_content The shorcode content
8 * @return string The output of element markup
9 */
10
11 function auxin_get_the_related_posts( $args = array() ){
12
13 global $post;
14
15 // the recent posts args
16 $defaults = array(
17 'title' => '',
18 'post_type' => $post->post_type,
19 'taxonomy_name' => '', // the taxonomy that we intent to display in post info
20 'taxonomy' => array(),
21 'orderbr' => 'menu_order date',
22 'num' => 3,
23 'desktop_cnum' => 3,
24 'tablet_cnum' => 2,
25 'phone_cnum' => 1,
26
27 'display_title' => true,
28 'show_info' => true,
29 'show_date' => false,
30 'author_or_readmore' => '', // readmore, author, none
31 'display_categories' => true,
32 'max_taxonomy_num' => 3,
33 'wp_query_args' => array(),
34
35 'size' => '',
36 'show_media' => true,
37 'content_layout' => 'entry-boxed', // entry-boxed
38 'show_excerpt' => false,
39 'excerpt_len' => '0',
40 'post_info_position' => 'after-title',
41 'image_aspect_ratio' => 0.75,
42 'preview_mode' => 'grid',
43 'grid_table_hover' => 'bgimage-bgcolor',
44
45 'ignore_media' => false, // whether to ignore media for this
46 'exclude' => '',
47 'include' => '',
48 'order_by' => 'menu_order date',
49 'order' => 'desc',
50 'exclude_without_media' => 0,
51 'exclude_custom_post_formats' => 0,
52 'exclude_quote_link' => 0,
53 'exclude_post_formats_in' => array(), // the list od post formats to exclude
54 'display_like' => true,
55
56 'extra_classes' => '',
57 'extra_column_classes' => '',
58 'custom_el_id' => '',
59 'carousel_space' => '30',
60 'carousel_autoplay' => false,
61 'carousel_autoplay_delay' => '2',
62 'carousel_navigation' => 'peritem',
63 'carousel_navigation_control' => 'bullets',
64 'carousel_loop' => 1,
65
66 'reset_query' => true,
67 'use_wp_query' => false, // true to use the global wp_query, false to use internal custom query
68 'custom_wp_query' => '',
69 'base_class' => 'aux-widget-recent-posts aux-widget-related-posts',
70
71 'text_alignment' => '',
72 'container_start_tag' => '<div class="aux-container aux-fold">',
73 'container_end_tag' => '</div>'
74 );
75
76
77 // update the setting base on preview mode
78 if( ! isset( $args['num'] ) && isset( $args['desktop_cnum'] ) ){
79 $args['num'] = 'carousel' == $args['preview_mode'] ? $args['desktop_cnum'] * 2 : $args['desktop_cnum'];
80 }
81
82 $args = wp_parse_args( $args, $defaults );
83
84 // query the related posts base on taxonimy --------------------------------
85
86 // the taxonomies
87 $taxonomy = $args['taxonomy'];
88
89 // the taxonomy that we intend to display its corresponding terms (required in post-column.php)
90 $taxonomy_name = isset( $taxonomy[0] ) ? $taxonomy[0] : $taxonomy;
91
92 // query the post with the same cat or categories
93 if( $taxonomy ){
94
95 $args['wp_query_args']['tax_query'] = array();
96
97 foreach ( $taxonomy as $tax ) {
98 $tax_terms = get_the_terms( $post->ID, $tax );
99 $tax_slugs = array();
100
101 if( $tax_terms && is_array( $tax_terms ) ) {
102 // loop through current item terms and get all tax slugs
103 foreach ( $tax_terms as $tax_term ) {
104 $tax_slugs[] = $tax_term->slug;
105 }
106 $tax_slugs = array_unique( $tax_slugs );
107
108 if( count( $args['wp_query_args']['tax_query'] ) ){
109 $args['wp_query_args']['tax_query']['relation'] = 'OR';
110 }
111
112 $args['wp_query_args']['tax_query'][] = array(
113 'taxonomy' => $tax,
114 'field' => 'slug',
115 'terms' => $tax_slugs,
116 'operator' => 'IN'
117 );
118 }
119
120 }
121
122 }
123
124 // query the related posts base on taxonimy --------------------------------
125
126 $args = apply_filters( 'auxin_get_the_related_posts_args', $args );
127
128 return $args['container_start_tag'] . auxin_widget_recent_posts_callback( $args ) . $args['container_end_tag'];
129 }
130
131