PATH:
home
/
letacommog
/
vizeo
/
wp-content
/
themes
/
dt-the7
/
inc
/
shortcodes
/
includes
/
blog-list
<?php /** * Blog list shortcode. */ // File Security Check. if ( ! defined( 'ABSPATH' ) ) { exit; } require_once trailingslashit( PRESSCORE_SHORTCODES_INCLUDES_DIR ) . 'abstract-dt-shortcode-with-inline-css.php'; require_once trailingslashit( PRESSCORE_SHORTCODES_INCLUDES_DIR ) . 'class-dt-blog-lessvars-manager.php'; require_once trailingslashit( PRESSCORE_SHORTCODES_INCLUDES_DIR ) . 'class-dt-blog-shortcode-html.php'; if ( ! class_exists( 'DT_Shortcode_BlogList', false ) ): class DT_Shortcode_BlogList extends DT_Shortcode_With_Inline_Css { /** * @var string */ protected $post_type; /** * @var string */ protected $taxonomy; /** * @var DT_Shortcode_BlogList|null */ public static $instance = null; /** * @return DT_Shortcode_BlogList */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * DT_Shortcode_BlogList constructor. */ public function __construct() { $this->sc_name = 'dt_blog_list'; $this->unique_class_base = 'blog-list-shortcode-id'; $this->taxonomy = 'category'; $this->post_type = 'post'; $this->default_atts = array( 'category' => '', 'layout' => 'classic', 'cl_image_width' => '50%', 'cl_dividers' => 'n', 'cl_dividers_color' => '', 'ce_content_width' => '75%', 'ce_dividers' => 'n', 'ce_dividers_color' => '', 'bo_content_width' => '75%', 'bo_content_top_overlap' => '100px', 'si_content_align' => 'checkerboard', 'si_content_side_overlap' => '150px', 'si_content_top_margin' => '50px', 'si_image_width' => '75%', 'mobile_switch_width' => '768px', 'custom_title_color' => '', 'custom_content_color' => '', 'custom_meta_color' => '', 'content_bg' => 'y', 'custom_content_bg_color' => '', 'image_sizing' => 'resize', 'resized_image_dimensions' => '3x2', 'image_paddings' => '0px 0px 0px 0px', 'image_scale_animation_on_hover' => 'y', 'loading_mode' => 'disabled', 'dis_posts_total' => '-1', 'st_posts_per_page' => '', 'st_show_all_pages' => 'n', 'st_gap_before_pagination' => '50px', 'jsp_posts_total' => '-1', 'jsp_posts_per_page' => '', 'jsp_show_all_pages' => 'n', 'jsp_gap_before_pagination' => '50px', 'jsm_posts_total' => '-1', 'jsm_posts_per_page' => '', 'jsm_gap_before_pagination' => '50px', 'jsl_posts_total' => '-1', 'jsl_posts_per_page' => '', 'fancy_date' => 'n', 'fancy_date_font_color' => '#2d2d2d', 'fancy_date_bg_color' => '#ffffff', 'fancy_date_line_color' => '', 'fancy_categories' => 'n', 'fancy_categories_font_color' => '', 'fancy_categories_bg_color' => '', 'post_content_paddings' => '25px 30px 30px 30px', 'post_title_font_style' => '', 'post_title_font_size' => '', 'post_title_line_height' => '', 'post_title_bottom_margin' => '5px', 'post_date' => 'y', 'post_category' => 'y', 'post_author' => 'y', 'post_comments' => 'y', 'meta_info_font_style' => '', 'meta_info_font_size' => '', 'meta_info_line_height' => '', 'meta_info_bottom_margin' => '15px', 'post_content' => 'show_excerpt', 'excerpt_words_limit' => '', 'content_font_style' => '', 'content_font_size' => '', 'content_line_height' => '', 'content_bottom_margin' => '5px', 'read_more_button' => 'default_link', 'read_more_button_text' => 'Read more', 'show_categories_filter' => 'n', 'show_orderby_filter' => 'n', 'show_order_filter' => 'n', 'gap_between_posts' => '50px', 'order' => 'desc', 'orderby' => 'date', 'gap_below_category_filter' => '50px', 'navigation_font_color' => '', 'navigation_accent_color' => '', ); parent::__construct(); } /** * Do shortcode here. */ protected function do_shortcode( $atts, $content = '' ) { // Loop query. $query = $this->get_posts_by_terms( $this->get_query_args() ); $loading_mode = $this->get_att( 'loading_mode' ); $data_post_limit = '-1'; switch ( $loading_mode ) { case 'js_pagination': $data_post_limit = $this->get_att( 'jsp_posts_per_page', get_option( 'posts_per_page' ) ); break; case 'js_more': $data_post_limit = $this->get_att( 'jsm_posts_per_page', get_option( 'posts_per_page' ) ); break; case 'js_lazy_loading': $data_post_limit = $this->get_att( 'jsl_posts_per_page', get_option( 'posts_per_page' ) ); break; } if ( 'disabled' == $loading_mode ) { $data_pagination_mode = 'none'; } else if ( in_array( $loading_mode, array( 'js_more', 'js_lazy_loading' ) ) ) { $data_pagination_mode = 'load-more'; } else { $data_pagination_mode = 'pages'; } $data_atts = array( 'data-post-limit="' . intval( $data_post_limit ) . '"', 'data-pagination-mode="' . esc_attr( $data_pagination_mode ) . '"', ); echo '<div ' . $this->container_class( 'articles-list blog-shortcode mode-list' ) . presscore_list_container_data_atts( $data_atts ) . '>'; // Posts filter. $filter_class = array(); if ( 'standard' == $loading_mode ) { $filter_class[] = 'without-isotope'; } if ( ! $this->get_flag( 'show_orderby_filter' ) && ! $this->get_flag( 'show_order_filter' ) ) { $filter_class[] = 'extras-off'; } $config = presscore_config(); switch ( $config->get( 'template.posts_filter.style' ) ) { case 'minimal': $filter_class[] = 'filter-bg-decoration'; break; case 'material': $filter_class[] = 'filter-underline-decoration'; break; } $terms = array(); if ( $this->get_flag( 'show_categories_filter' ) ) { if ( 'standard' == $loading_mode ) { $terms_args = array( 'taxonomy' => $this->taxonomy, 'hide_empty' => true, ); $category_att = $this->get_att( 'category' ); if ( $category_att ) { $terms_args['slug'] = presscore_sanitize_explode_string( $category_att ); } $terms = get_terms( $terms_args ); } else { $post_ids = wp_list_pluck( $query->posts, 'ID' ); $terms = wp_get_object_terms( $post_ids, $this->taxonomy, array( 'fields' => 'all_with_object_id' ) ); } } DT_Blog_Shortcode_HTML::display_posts_filter( $terms, $filter_class ); /** * Blog posts have a custom lazy loading classes. * @see DT_Blog_Shortcode_HTML::get_post_image */ presscore_remove_lazy_load_attrs(); // Start loop. if ( $query->have_posts() ): while( $query->have_posts() ): $query->the_post(); do_action('presscore_before_post'); remove_filter( 'presscore_post_details_link', 'presscore_return_empty_string', 15 ); // Article layout (odd, even). $article_layout = presscore_get_template_image_layout( $config->get( 'layout' ), ( $query->current_post + 1 ) ); // Post visibility on the first page. $visibility = 'visible'; if ( $data_post_limit >= 0 && $query->current_post >= $data_post_limit ) { $visibility = 'hidden'; } $post_class_array = array( 'post', "project-{$article_layout}", $visibility ); echo '<article ' . $this->post_class( $post_class_array ) . ' data-name="' . esc_attr( get_the_title() ) . '" data-date="' . esc_attr( get_the_date( 'c' ) ) . '">'; // Print custom css for VC scripts. if ( 'show_content' === $this->get_att( 'post_content' ) && function_exists( 'visual_composer' ) ) { visual_composer()->addShortcodesCustomCss(); } // populate config with current post settings presscore_populate_post_config(); // Post media. $thumb_args = apply_filters( 'dt_post_thumbnail_args', array( 'img_id' => get_post_thumbnail_id(), 'class' => 'post-thumbnail-rollover', 'href' => get_permalink(), 'wrap' => '<a %HREF% %CLASS% %CUSTOM%><img %IMG_CLASS% %SRC% %ALT% %IMG_TITLE% %SIZE% /></a>', 'echo' => false, ) ); // Custom lazy loading classes. if ( presscore_lazy_loading_enabled() ) { $thumb_args['lazy_loading'] = true; $thumb_args['img_class'] = ( 'standard' === $loading_mode ? 'lazy-load' : 'blog-thumb-lazy-load' ); $thumb_args['class'] .= ' layzr-bg'; } $post_media = dt_get_thumb_img( $thumb_args ); $details_btn_style = $this->get_att( 'read_more_button' ); $details_btn_text = $this->get_att( 'read_more_button_text' ); $details_btn_class = ('default_button' === $details_btn_style ? array( 'dt-btn-s', 'dt-btn' ) : array()); presscore_get_template_part( 'shortcodes', 'blog-list/tpl-layout', $this->get_att( 'layout' ), array( 'post_media' => $post_media, 'details_btn' => DT_Blog_Shortcode_HTML::get_details_btn( $details_btn_style, $details_btn_text, $details_btn_class ), 'post_excerpt' => $this->get_post_excerpt(), 'fancy_category_args' => array( 'custom_text_color' => ( ! $this->get_att( 'fancy_categories_font_color' ) ), 'custom_bg_color' => ( ! $this->get_att( 'fancy_categories_bg_color' ) ), ), ) ); echo '</article>'; do_action('presscore_after_post'); endwhile; endif; presscore_add_lazy_load_attrs(); if ( 'disabled' == $loading_mode ) { // Do not output pagination. } else if ( in_array( $loading_mode, array( 'js_more', 'js_lazy_loading' ) ) ) { // JS load more. echo dt_get_next_page_button( 2, 'paginator paginator-more-button' ); } else if ( 'js_pagination' == $loading_mode ) { // JS pagination. echo '<div class="paginator" role="navigation"></div>'; } else { // Pagination. dt_paginator( $query, array( 'class' => 'paginator' ) ); } echo '</div>'; } /** * Return post excerpt with $length words. * * @return mixed */ protected function get_post_excerpt() { if ( 'off' === $this->atts['post_content'] ) { return ''; } if ( 'show_content' === $this->atts['post_content'] ) { return apply_filters( 'the_content', get_the_content( '' ) ); } $length = absint( $this->atts['excerpt_words_limit'] ); $excerpt = get_the_excerpt(); // VC excerpt fix. if ( function_exists( 'vc_manager' ) ) { $excerpt = vc_manager()->vc()->excerptFilter( $excerpt ); } if ( $length ) { $excerpt = wp_trim_words( $excerpt, $length ); } return apply_filters( 'the_excerpt', $excerpt ); } /** * Return container class attribute. * * @param array $class * * @return string */ protected function container_class( $class = array() ) { if ( ! is_array( $class ) ) { $class = explode( ' ', $class ); } // Unique class. $class[] = $this->get_unique_class(); $layout_classes = array( 'classic' => 'classic-layout-list', 'centered' => 'centered-layout-list', 'bottom_overlap' => 'bottom-overlap-layout-list', 'side_overlap' => 'side-overlap-layout-list', ); $layout = $this->get_att( 'layout' ); if ( array_key_exists( $layout, $layout_classes ) ) { $class[] = $layout_classes[ $layout ]; } if ( 'classic' === $this->get_att( 'layout' ) && $this->get_flag( 'cl_dividers' ) ) { $class[] = 'dividers-on'; } if ( 'centered' === $this->get_att( 'layout' ) && $this->get_flag( 'ce_dividers' ) ) { $class[] = 'dividers-on'; } if ( $this->get_flag( 'content_bg' ) ) { $class[] = 'content-bg-on'; } $loading_mode = $this->get_att( 'loading_mode' ); if ( 'standard' !== $loading_mode ) { $class[] = 'jquery-filter'; } if ( 'js_lazy_loading' === $loading_mode ) { $class[] = 'lazy-loading-mode'; } if ( $this->get_flag( 'jsp_show_all_pages' ) ) { $class[] = 'show-all-pages'; } if ( $this->get_flag( 'image_scale_animation_on_hover' ) ) { $class[] = 'scale-img'; } if ( $this->get_flag( 'fancy_date' ) ) { $class[] = presscore_blog_fancy_date_class(); } return presscore_list_container_html_class( $class ); } /** * Return post classes. * * @param string|array $class * * @return string */ protected function post_class( $class = array() ) { if ( ! is_array( $class ) ) { $class = explode( ' ', $class ); } if ( 'classic' === $this->atts['layout'] && absint( $this->atts['cl_image_width'] ) >= 100 ) { $class[] = ' full-width-img'; } return 'class="' . join( ' ', get_post_class( $class, null ) ) . '"'; } /** * Return shortcode less file absolute path to output inline. * * @return string */ protected function get_less_file_name() { switch ( $this->atts['layout'] ) { case 'centered': $less_file_name = 'centered-layout-blog'; break; case 'bottom_overlap': $less_file_name = 'bottom-overlap-layout-blog'; break; case 'side_overlap': $less_file_name = 'side-overlap-layout-blog'; break; case 'classic': default: $less_file_name = 'classic-layout-blog'; } // @TODO: Remove in production. $less_file_name = 'blog'; $less_file_path = trailingslashit( get_template_directory() ) . "css/dynamic-less/shortcodes/{$less_file_name}.less"; return $less_file_path; } /** * Setup theme config for shortcode. */ protected function setup_config() { $config = presscore_config(); $config->set( 'load_style', 'default' ); $config->set( 'template', 'blog' ); $layout = 'list'; if ( 'side_overlap' === $this->get_att( 'layout' ) ) { $layout = $this->get_att( 'si_content_align' ); } $config->set( 'layout', $layout ); $config->set( 'all_the_same_width', true ); $config->set( 'show_excerpts', ( 'off' !== $this->get_att( 'post_content' ) ) ); $config->set( 'show_details', ( 'off' !== $this->get_att( 'read_more_button' ) ) ); $config->set( 'image_layout', ( 'resize' === $this->get_att( 'image_sizing' ) ? $this->get_att( 'image_sizing' ) : 'original' ) ); if ( 'resize' == $this->get_att( 'image_sizing' ) && $this->get_att( 'resized_image_dimensions' ) ) { // Sanitize. $img_dim = array_slice( array_map( 'absint', explode( 'x', strtolower( $this->get_att( 'resized_image_dimensions' ) ) ) ), 0, 2 ); // Make sure that all values is set. for ( $i = 0; $i < 2; $i++ ) { if ( empty( $img_dim[ $i ] ) ) { $img_dim[ $i ] = ''; } } $config->set( 'thumb_proportions', array( 'width' => $img_dim[0], 'height' => $img_dim[1] ) ); } else { $config->set( 'thumb_proportions', '' ); } $config->set( 'post.meta.fields.date', apply_filters( 'dt_sanitize_flag', $this->get_att( 'post_date' ) ) ); $config->set( 'post.meta.fields.categories', apply_filters( 'dt_sanitize_flag', $this->get_att( 'post_category' ) ) ); $config->set( 'post.meta.fields.comments', apply_filters( 'dt_sanitize_flag', $this->get_att( 'post_comments' ) ) ); $config->set( 'post.meta.fields.author', apply_filters( 'dt_sanitize_flag', $this->get_att( 'post_author' ) ) ); $config->set( 'post.fancy_date.enabled', apply_filters( 'dt_sanitize_flag', $this->get_att( 'fancy_date' ) ) ); $config->set( 'post.fancy_category.enabled', apply_filters( 'dt_sanitize_flag', $this->get_att( 'fancy_categories' ) ) ); $config->set( 'post.preview.background.enabled', false ); $config->set( 'post.preview.background.style', '' ); $config->set( 'post.preview.media.width', 30 ); $config->set( 'post.preview.load.effect', 'fade_in' ); $config->set( 'template.posts_filter.terms.enabled', apply_filters( 'dt_sanitize_flag', $this->get_att( 'show_categories_filter' ) ) ); $config->set( 'template.posts_filter.orderby.enabled', apply_filters( 'dt_sanitize_flag', $this->get_att( 'show_orderby_filter' ) ) ); $config->set( 'template.posts_filter.order.enabled', apply_filters( 'dt_sanitize_flag', $this->get_att( 'show_order_filter' ) ) ); if ( 'standard' === $this->get_att( 'loading_mode' ) ) { $config->set( 'show_all_pages', $this->get_flag( 'st_show_all_pages' ) ); // Allow sorting from request. if ( ! $config->get('order') ) { $config->set( 'order', $this->get_att( 'order' ) ); } if ( ! $config->get('orderby') ) { $config->set( 'orderby', $this->get_att( 'orderby' ) ); } } else { $config->set( 'show_all_pages', $this->get_flag( 'jsp_show_all_pages' ) ); $config->set( 'request_display', false ); $config->set( 'order', $this->get_att( 'order' ) ); $config->set( 'orderby', $this->get_att( 'orderby' ) ); } // Get terms ids. $terms = get_terms( array( 'taxonomy' => 'category', 'slug' => presscore_sanitize_explode_string( $this->get_att( 'category' ) ), 'fields' => 'ids', ) ); $config->set( 'display', array( 'type' => 'category', 'terms_ids' => $terms, 'select' => ( $terms ? 'only' : 'all' ), ) ); } /** * Return array of prepared less vars to insert to less file. * * @return array */ protected function get_less_vars() { $storage = new Presscore_Lib_SimpleBag(); $factory = new Presscore_Lib_LessVars_Factory(); $less_vars = new DT_Blog_LessVars_Manager( $storage, $factory ); $less_vars->add_keyword( 'unique-shortcode-class-name', 'blog-shortcode.' . $this->get_unique_class(), '~"%s"' ); switch ( $this->get_att( 'layout' ) ) { case 'classic': $less_vars->add_keyword( 'post-divider-color', $this->get_att( 'cl_dividers_color', '~""' ) ); $less_vars->add_percent_number( 'post-thumbnail-width', $this->get_att( 'cl_image_width' ) ); break; case 'centered': $less_vars->add_keyword( 'post-divider-color', $this->get_att( 'cl_dividers_color', '~""' ) ); $less_vars->add_pixel_or_percent_number( 'post-content-width', $this->get_att( 'ce_content_width' ) ); break; case 'bottom_overlap': $less_vars->add_pixel_or_percent_number( 'post-content-width', $this->get_att( 'bo_content_width' ) ); $less_vars->add_pixel_number( 'post-content-top-overlap', $this->get_att( 'bo_content_top_overlap' ) ); break; case 'side_overlap': $less_vars->add_pixel_or_percent_number( 'post-thumbnail-width', $this->get_att( 'si_image_width' ) ); $less_vars->add_pixel_number( 'post-content-side-overlap', $this->get_att( 'si_content_side_overlap' ) ); $less_vars->add_pixel_number( 'post-content-top-overlap', $this->get_att( 'si_content_top_margin' ) ); } $less_vars->add_pixel_number( 'switch-blog-list-to-mobile', $this->get_att( 'mobile_switch_width' ) ); $less_vars->add_keyword( 'post-title-color', $this->get_att( 'custom_title_color', '~""' ) ); $less_vars->add_keyword( 'post-meta-color', $this->get_att( 'custom_meta_color', '~""' ) ); $less_vars->add_keyword( 'post-content-color', $this->get_att( 'custom_content_color', '~""' ) ); $less_vars->add_keyword( 'post-content-bg', $this->get_att( 'custom_content_bg_color', '~""' ) ); $less_vars->add_paddings( array( 'post-thumb-padding-top', 'post-thumb-padding-right', 'post-thumb-padding-bottom', 'post-thumb-padding-left', ), $this->get_att( 'image_paddings' ), '%|px' ); $less_vars->add_keyword( 'fancy-data-color', $this->get_att( 'fancy_date_font_color' ) ); $less_vars->add_keyword( 'fancy-data-bg', $this->get_att( 'fancy_date_bg_color' ) ); $less_vars->add_keyword( 'fancy-data-line-color', $this->get_att( 'fancy_date_line_color', '~""' ) ); $less_vars->add_keyword( 'fancy-category-color', $this->get_att( 'fancy_categories_font_color', '~""' ) ); $less_vars->add_keyword( 'fancy-category-bg', $this->get_att( 'fancy_categories_bg_color', '~""' ) ); $less_vars->add_paddings( array( 'post-content-padding-top', 'post-content-padding-right', 'post-content-padding-bottom', 'post-content-padding-left', ), $this->get_att( 'post_content_paddings' ) ); $less_vars->add_pixel_number( 'post-title-font-size', $this->get_att( 'post_title_font_size' ) ); $less_vars->add_pixel_number( 'post-title-line-height', $this->get_att( 'post_title_line_height' ) ); $less_vars->add_pixel_number( 'post-meta-font-size', $this->get_att( 'meta_info_font_size' ) ); $less_vars->add_pixel_number( 'post-meta-line-height', $this->get_att( 'meta_info_line_height' ) ); $less_vars->add_pixel_number( 'post-excerpt-font-size', $this->get_att( 'content_font_size' ) ); $less_vars->add_pixel_number( 'post-excerpt-line-height', $this->get_att( 'content_line_height' ) ); $less_vars->add_pixel_number( 'post-meta-margin-bottom', $this->get_att( 'meta_info_bottom_margin' ) ); $less_vars->add_pixel_number( 'post-title-margin-bottom', $this->get_att( 'post_title_bottom_margin' ) ); $less_vars->add_pixel_number( 'post-excerpt-margin-bottom', $this->get_att( 'content_bottom_margin' ) ); $less_vars->add_pixel_number( 'gap-between-posts', $this->get_att( 'gap_between_posts' ) ); $less_vars->add_font_style( array( 'post-title-font-style', 'post-title-font-weight', 'post-title-text-transform', ), $this->get_att( 'post_title_font_style' ) ); $less_vars->add_font_style( array( 'post-meta-font-style', 'post-meta-font-weight', 'post-meta-text-transform', ), $this->get_att( 'meta_info_font_style' ) ); $less_vars->add_font_style( array( 'post-content-font-style', 'post-content-font-weight', 'post-content-text-transform', ), $this->get_att( 'content_font_style' ) ); $less_vars->add_pixel_number( 'shortcode-filter-gap', $this->get_att( 'gap_below_category_filter', '' ) ); $less_vars->add_keyword( 'shortcode-filter-color', $this->get_att( 'navigation_font_color', '~""' ) ); $less_vars->add_keyword( 'shortcode-filter-accent', $this->get_att( 'navigation_accent_color', '~""' ) ); $gap_before_pagination = ''; switch ( $this->get_att( 'loading_mode' ) ) { case 'standard': $gap_before_pagination = $this->get_att( 'st_gap_before_pagination', '' ); break; case 'js_pagination': $gap_before_pagination = $this->get_att( 'jsp_gap_before_pagination', '' ); break; case 'js_more': $gap_before_pagination = $this->get_att( 'jsm_gap_before_pagination', '' ); break; } $less_vars->add_pixel_number( 'shortcode-pagination-gap', $gap_before_pagination ); return $less_vars->get_vars(); } /** * Return dummy html for VC inline editor. * * @return string */ protected function get_vc_inline_html() { $terms_title = _x( 'Display categories', 'vc inline dummy', 'the7mk2' ); return $this->vc_inline_dummy( array( 'class' => 'dt_vc-blog_list', 'title' => _x( 'Blog List', 'vc inline dummy', 'the7mk2' ), 'fields' => array( $terms_title => presscore_get_terms_list_by_slug( array( 'slugs' => $this->atts['category'], 'taxonomy' => 'category' ) ), ), ) ); } /** * Return query args. * * @return array */ protected function get_query_args() { $pagination_mode = $this->get_att( 'loading_mode' ); $posts_total = -1; switch ( $pagination_mode ) { case 'disabled': $posts_total = $this->get_att( 'dis_posts_total' ); break; case 'standard': $posts_total = $this->get_att( 'st_posts_per_page' ); break; case 'js_pagination': $posts_total = $this->get_att( 'jsp_posts_total' ); break; case 'js_more': $posts_total = $this->get_att( 'jsm_posts_total' ); break; case 'js_lazy_loading': $posts_total = $this->get_att( 'jsl_posts_total' ); break; } $category_att = $this->get_att( 'category' ); $terms_slugs = ''; if ( $category_att ) { $terms_slugs = presscore_sanitize_explode_string( $category_att ); } $query_args = array( 'orderby' => $this->get_att( 'orderby' ), 'order' => $this->get_att( 'order' ), 'number' => $posts_total, 'select' => ( $terms_slugs ? 'only' : 'all' ), 'category' => $terms_slugs, ); // For standard pagination mode. if ( 'standard' == $pagination_mode ) { $config = presscore_config(); $query_args['orderby'] = $config->get( 'orderby' ); $query_args['order'] = $config->get( 'order' ); $query_args['paged'] = dt_get_paged_var(); $request = $config->get( 'request_display' ); if ( $request ) { $query_args['select'] = $request['select']; $terms = get_terms( array( 'taxonomy' => 'category', 'include' => $request['terms_ids'], 'fields' => 'id=>slug', ) ); if ( ! is_wp_error( $terms ) ) { $query_args['category'] = array_values( $terms ); } } } return $query_args; } } DT_Shortcode_BlogList::get_instance()->add_shortcode(); endif;
[+]
..
[-] tpl-layout-centered.php
[edit]
[-] blog-list.php
[edit]
[-] tpl-layout.php
[edit]