#wordpress #post #categories
#wordpress #Публикация #Категории
Вопрос:
У меня есть идентификаторы некоторых определенных категорий. Я хочу зациклить эти категории и последние 3 сообщения за один раз. Я пробую это, но получаю только одну категорию из массива.
<?php
$args = array(
'cat' => 48,43,49,46,47,44,51,50,42,
'order' => 'ASC',
'showposts' => 3
);
query_posts($args);
?>
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
Ответ №1:
Этот фрагмент кода не будет работать: 'cat' => 48,43,49,46,47,44,51,50,42,
Вам придется использовать массив 'cat' => array(48,43,49,46,47,44,51,50,42),
Ответ №2:
По какой-то причине ‘cat’ не сработал. Мы использовали
'category__in' => array( 2, 6 ),
и это сработало нормально.
Завершенный рабочий код:
<?php
// -----------------------------
$args = array(
'post_type' => 'post',
'order' => 'ASC',
'category__in' => array(2,6)
);
$query = new WP_Query( $args );
?>
Ответ №3:
Вы можете получить все сообщения в категории, которую хотите опубликовать.
query_posts( array ( 'category_name' => 'my-category-slug', 'posts_per_page' => -1 ) );
Вы можете найти сообщение в соответствии с вашими ожиданиями с помощью.
query_posts( array ( 'category_name' => 'carousel', 'posts_per_page' => 10, 'orderby' => 'date', 'order' => 'DESC' ) );
Ответ №4:
В соответствии с вашим кодом. Обновить —
<?php
$args = array(
'cat' => [48,43,49,46,47,44,51,50,42], //change here array
'order' => 'ASC',
'posts_per_page' => 3 //showposts deprecated now
);
query_posts($args);
?>
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?> // you should reset your query
Ответ №5:
на самом деле должно быть: ‘cat’ => ‘48,43,49,46,47,44,51,50,42’