WordPress wp_query在一个查询中从两个类别中获取两个最后插入的帖子

时间:2018-11-25 20:58:51

标签: php wordpress

我使用下面的代码在Wordpress中进行查询,并从一个类别中获取最后插入的两个帖子。我必须对每个类别进行两个查询才能获得所需的结果。是否可以在一个查询中从两个类别中获取最后插入的两个帖子?四个帖子的总结果,一个类别两个,另一个类别两个,一个查询。任何帮助表示赞赏。

$wp_query = new WP_Query(
    array(
        'posts_per_page'      => '3',
        'order'               => 'DESC',
        'post_status'         => 'publish',
        'ignore_sticky_posts' => true,
        'no_found_rows'       => true,
        'cat' => '33',

    )
);

1 个答案:

答案 0 :(得分:1)

您是否尝试在查询中同时获得这两个类别?

我在其他地方找到了

https://wordpress.stackexchange.com/questions/228797/get-latest-posts-from-multiple-categories

  $args = array( 
    'posts_per_page' => 5,
    'category' => array(15,16,17,18,19) 
    );
     

您不能只将数字添加到列表中,但我找不到任何数字   类别元素允许使用倍数(作为名称的文档)   是类别)

     

另一种选择是使用wp_query和category__in

    $query = new WP_Query(
     array(
      'category__in' => array(15,16,17,18,19),
      'posts_per_page' => 5,
      'post_type' => 'post',
     )
     );
    if ( $query->have_posts() ) {
     while ( $query->have_posts() ) {
      $query->the_post();
      // do something
     }
    }
    wp_reset_postdata();
     

如果您选择了这些类别中的最后5个帖子,   想要从他们每个人那里获得帖子,那么查询需要很多   不同

我的版本是:

     $query = new WP_Query(
      array(
       'category__in' => array(15,16),
       'posts_per_page' => 4,
       'post_type' => 'post',
       'order' => 'DESC',
       'orderby' => 'date'
      )
      );
     if ( $query->have_posts() ) {
      while ( $query->have_posts() ) {
       $query->the_post();
       // do something
      }
     }
     wp_reset_postdata();