• Добрый день. Вывожу в swiper-slider пользовательские посты с таксономией, но изображения дублируются. В чём может быть проблема:?`

    
    

    <div class=»swiper-wrapper»>
    <?php
    $all_terms = get_terms(array(‘taxonomy’ => ‘TypeProducts’) );
    foreach ( $all_terms as $term ) {
    $query = new WP_Query( array( ‘post_status’ => ‘publish’, ‘post_type’ => ‘slider’, ‘numberposts’ => -1, ‘order’=>’ASC’, ‘tax_query’ => array( array( ‘taxonomy’ => ‘TypeProducts’, ‘field’ => ‘slug’, ‘terms’ => ‘DVP’, ) )
    ));
    if ( ! $query->have_posts() ) continue;
    while ( $query->have_posts() ) { $query->the_post();
    ?> <div class=»swiper-slide»><?php the_post_thumbnail();?></div>
    <?php
    }
    }
    ?>
    </div>`

    • Тема изменена 4 года, 3 месяца назад пользователем alisen.
    • Тема изменена 4 года, 3 месяца назад пользователем alisen.
    • Тема изменена 4 года, 3 месяца назад пользователем alisen.
Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Модератор Юрій

    (@yube)

    ‘terms’ => ‘DVP’, — это так и задумано?

    да, выводит именно посты с меткой продукции DVP
    Если укажу ‘terms’ => $term->slug, то выведутся все посты данной таксономии.. но без дублирования уже. Как тогда мне сделать именно, чтоб нормально выводились записи только именно с меткой DVP?

    • Ответ изменён 4 года, 3 месяца назад пользователем alisen.
    • Ответ изменён 4 года, 3 месяца назад пользователем alisen.
    • Ответ изменён 4 года, 3 месяца назад пользователем alisen.
    Модератор Юрій

    (@yube)

    Если нужно только с одним термом, тогда зачем Вы сделали цикл по всем термам?

    foreach ( $all_terms as $term ) {
     .... 
    }
    

    только месяц с WP разбираюсь, но пока эта тема не очень понятна( можете какой-нибудь пример с одним term показать?

    Модератор Юрій

    (@yube)

    только месяц с WP разбираюсь,

    Да при чем тут WP? В любом другом случае foreach ( $all_terms as $term ) означало бы то же самое: «для каждого терма из списка».

    пример с одним term показать?

    Ну он же у Вас уже есть. Нужно просто убрать внешний цикл.

    <div class=»swiper-wrapper»>
    <?php
    $query = new WP_Query( array( ‘post_status’ => ‘publish’, ‘post_type’ => ‘slider’, ‘numberposts’ => -1, ‘order’=>’ASC’, ‘tax_query’ => array( array( ‘taxonomy’ => ‘TypeProducts’, ‘field’ => ‘slug’, ‘terms’ => ‘DVP’, ) )
    ));
    if ( $query->have_posts() )
    while ( $query->have_posts() ) { $query->the_post();
    ?> <div class=»swiper-slide»><?php the_post_thumbnail();?></div>
    <?php
    }
    ?>
    </div>

    (извините, но мне недосуг Вашу кашу обратно в код превращать, так что придется Вам разбираться в этом так же, как я разбирался в Вашем)

    Спасибо вам большое. Разобралась.

    <?php
    $args = array(
    ‘post_type’ => ‘slider’,
    ‘tax_query’ => array(
    array(
    ‘taxonomy’ => ‘TypeProducts’,
    ‘field’ => ‘slug’,
    ‘terms’ => ‘dvp’,
    ),
    ),
    );
    $query = new WP_Query( $args );
    while ( $query->have_posts() ) {
    $query->the_post();
    ?>
    <div class=»swiper-slide»><?php the_post_thumbnail();?></div>
    <?php
    }
    ?>

    • Ответ изменён 4 года, 3 месяца назад пользователем alisen.
Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Дублирование постов» закрыта для новых ответов.