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