从多个类别获取最新帖子

时间:2016-06-04 作者:orandanow

因此,我使用下面的代码从5个不同类别中检索最新的5篇帖子。

问题是,它只输出数组中第一个类别的最新5篇帖子,即使其他4个类别中有更新的帖子。

如果我从数组中删除第一个类别,那么它只会从数组中的下一个类别中输出最近的5篇文章。它永远不会进入剩下的类别。

我想做的是从所有的5个类别组合中输出最新的5篇帖子。我能做些什么来解决这个问题?

<?php
$args = array( \'posts_per_page\' => 5, \'category\' => 15,16,17,18,19);
$myposts = get_posts( $args ); ?>
<?php foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
    <?php the_title(); ?>
    <?php the_content(); ?>
<?php endforeach; wp_reset_postdata();?>

2 个回复
最合适的回答,由SO网友:Gareth Gillman 整理而成

这里有两个选项,您需要将类别设置为数组,例如。

$args = array( 
 \'posts_per_page\' => 5,
 \'category\' => array(15,16,17,18,19)
);
您不能只在列表中添加数字,但我找不到category元素允许倍数的任何文档(因为名称是category)

另一个选项是在中使用wp\\u query和category\\u

$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篇文章,如果您想从每个类别中获取一篇文章,那么查询需要有很大的不同

SO网友:mmm

阵列构造中存在问题。您有:

$args = array(
    \'posts_per_page\' => 5,
    \'category\' => 15, 16, 17, 18, 19
);
您可能需要:

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

相关推荐