Как в плагине 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" ]