WP_QUERY用于按ID显示特定帖子

时间:2019-01-30 作者:Ehsan Siahtiri

但它只是显示第一个帖子,我需要显示三个帖子,请帮助我

$the_query = new WP_Query(array(

 \'p\' => \'272 282 292\',)); 

if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();?>

  // Do Stuff
endwhile;
endif;
// Reset Post Data
wp_reset_postdata();

1 个回复
SO网友:birgire

对于多个post ID,在WP_Query 参数,我们可以使用:

\'post__in\' => [ 272, 282, 292 ],
但对于单个post ID,它是:

\'p\' => 123,
请注意,默认的帖子类型是post.

签出SQL查询WP_Query.

例如,在wp-cli 外壳:

wp> $q = new WP_Query( [ \'post__in\' => [ 272, 282, 292 ] ] );
wp> echo $q->request;
这样,您可以确保它生成您所需的内容。

比较,例如post__in 以及p 案例

有用的文档查看开发人员手册也很有帮助:

https://developer.wordpress.org/reference/classes/wp_query/

在某些情况下,旧法典:

https://codex.wordpress.org/Class_Reference/WP_Query

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post