Как в плагине Post Slider and Carousel от InfornWeb вывести по Тегу только записи

Как в плагине Post Slider and Carousel от InfornWeb вывести по Тегу только записи

Тег будет "top"

Плагин через шорткод генерируемый выводит слайдер или слайдшоу записей по параметрам

в файл
/public_html/wp-content/plugins/post-slider-and-carousel/includes/shortcodes/psacp-post-slider.php

в 3 местах меняем добавляем:

1. в блок Добавьте строку

$atts = shortcode_atts(array( 

после 
'show_category' 		=> 'true',
	
это	
'tag'                   => '', // ← ДОБАВЛЕНО

2. Вторая правка


После строки:
$atts['category'] = psac_maybe_explode( $atts['category'] );


Добавьте аналогичную для тегов:
$atts['tag'] = psac_maybe_explode( $atts['tag'] );


Функция psac_maybe_explode() уже есть в плагине — она превращает "top,news" в массив 'top', 'news'

3. Измените формирование $args для WP_Query

Найдите и закомментите блок:

// Category Parameter
if( $atts['category'] ) {
    $args['tax_query'] = array(
        array(
            'taxonomy'  => PSAC_CAT,
            'terms'     => $atts['category'],
            'field'     => ( isset($atts['category'][0]) && is_numeric($atts['category'][0]) ) ? 'term_id' : 'slug',
        )
    );
}

замените его на

if ( ! empty( $atts['tag'] ) ) {
    $args['tag'] = implode(',', $atts['tag']); // работает с slug
} elseif ( ! empty( $atts['category'] ) ) {
    $args['cat'] = implode(',', $atts['category']);
}


Чтобы в слайдере этого плагина вывести по тегу:

По сути тоже самое практически

Файл: /public_html/wp-content/plugins/post-slider-and-carousel/includes/shortcodes/psacp-post-carousel.php

1. Находим

$atts = shortcode_atts(array(

Добавьте сразу после 'category' строку:

'tag'                   => '',

Полный фрагмент будет выглядеть так:

'category'              => array(),
'tag'                   => '', // ← ДОБАВЛЕНО
'css_class'             => '',

2. Найдите строку:

$atts['category'] = psac_maybe_explode( $atts['category'] );

Сразу после неё добавьте:

$atts['tag'] = psac_maybe_explode( $atts['tag'] );

3. Найдите этот блок: (Закоментить)


// Category Parameter
if( $atts['category'] ) {
    $args['tax_query'] = array(
        array( 
            'taxonomy'  => PSAC_CAT,
            'terms'     => $atts['category'],
            'field'     => ( isset($atts['category'][0]) && is_numeric($atts['category'][0]) ) ? 'term_id' : 'slug',
        )
    );
}

Замените его на следующий код:


// Tag or Category Parameter
if ( ! empty( $atts['tag'] ) ) {
    $args['tag'] = implode(',', $atts['tag']); // работает с slug тегов
} elseif ( ! empty( $atts['category'] ) ) {
    $args['cat'] = implode(',', $atts['category']);
}

Вы можете использовать шорткод карусели или слайдера с тегом:
[ psac_post_carousel tag="top" limit="6" ]
[ psac_post_carousel tag="top,featured" limit="8" ]
guest
Закрыть меню

Предложить новую тему