Получение сообщений из массива категорий

#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’