Показать запись из выбранных категорий wordpress

#php #wordpress

#php #wordpress

Вопрос:

Я пытаюсь показать одно сообщение из нескольких категорий. Мой код показывает только сообщение первой категории: есть какие-нибудь советы?

 <?php

        $args = array(
        'cat' => 1,15,
        'post_type' => 'post',
        'posts_per_page' => '1',
        );

        $query = new WP_Query( $args );

        if ( $query->have_posts() ) :

            while ($query->the_post()):

                the_title();
                the_post_thumbnail(array(200, 200));



            ?>
<?php  endwhile;
            endif;?>
  

Комментарии:

1. с какой проблемой вы столкнулись прямо сейчас?

2. я сказал, что запрос возвращает 1 сообщение из категории с идентификаторами 1 и 15, но он показывает только сообщение категории 1

3. как насчет 'posts_per_page' => '1', . Проверьте, есть ли у вас там какая-нибудь разбивка на страницы?

4. во второй категории всего 1 сообщение

Ответ №1:

Пожалуйста, следуйте коду, чтобы понять, как показывать элементы публикации из выбранных категорий, передавая идентификатор категории.

 $args = array(
        'post_type'         => 'post', // post type
        'posts_per_page'    => -1, // number of post items
        'tax_query'         => array(
            array(
                'taxonomy'  => 'category',
                'field'     => 'term_id',
                'terms'     => array( 16, 244 ) // pass the ID of the post category, separated by a comma.
            )
        )
    );
  

Ответ №2:

Вы определили, 'posts_per_page' => '1' таким образом, вы получаете именно то, что просите: 1 сообщение. Либо из категории 1, либо из 15, в зависимости от того, какое сообщение является самым последним. Если вам нужно по 1 сообщению из КАЖДОЙ категории, я бы просто зациклил ваш код, каждый раз вводя другую категорию (всего 1).

Единственное, это будет в порядке идентификаторов категорий, которые вы указываете, а не отсортировано по дате в чем-то другом. Кроме того, если у вас есть сообщение в нескольких категориях, вы можете в конечном итоге получить одно и то же сообщение дважды.