#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).
Единственное, это будет в порядке идентификаторов категорий, которые вы указываете, а не отсортировано по дате в чем-то другом. Кроме того, если у вас есть сообщение в нескольких категориях, вы можете в конечном итоге получить одно и то же сообщение дважды.