PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / trunk
Shortcodes and extra features for Phlox theme vtrunk
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 5 months ago accordion-widget.php 1 month ago accordion.php 5 months ago attachment-url.php 5 months ago audio.php 5 months ago before-after.php 5 months ago button.php 5 months ago code.php 5 months ago contact-box.php 5 months ago contact-form.php 5 months ago custom-list.php 5 months ago divider.php 5 months ago dropcap.php 5 months ago facebook.php 5 months ago flickr.php 5 months ago gallery.php 5 months ago gmap.php 5 months ago highlight.php 5 months ago image.php 5 months ago instagram-feed.php 5 months ago latest-posts-slider.php 5 months ago popular-posts-widget.php 5 months ago products-grid.php 5 months ago quote.php 5 months ago recent-posts-grid-carousel.php 5 months ago recent-posts-land-style.php 5 months ago recent-posts-masonry.php 5 months ago recent-posts-tiles-carousel.php 5 months ago recent-posts-tiles.php 5 months ago recent-posts-timeline.php 5 months ago recent-posts-widget.php 5 months ago recent-products.php 5 months ago related-posts.php 8 years ago sample-element.php 5 months ago search.php 5 months ago socials-list.php 5 months ago staff.php 5 months ago tab-widget.php 5 months ago tabs.php 5 months ago testimonial.php 5 months ago text.php 5 months ago touch-slider.php 5 months ago video.php 5 months 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