设置the_query后,将wp_query限制为post_status Publish

时间:2019-02-05 21:35:49

标签: wordpress

我有一些代码可以在列表中显示特定的帖子类型。其他文件(不确定哪个文件)正在确定WP_query $the_query。我想修改此查询以仅显示post_status = publish

在显示内容之前,我具有以下代码:

if ( $the_query->have_posts() ) {
    ...

我想过滤$the_query以仅显示post_status = publish。我没有运气就尝试了这个(只是在if语句之前):

$the_query->set( 'post_status', 'publish' );

类型为sold(我添加的自定义帖子类型)的帖子仍会显示。我如何修改the_query以仅显示post_status被设置为发布并创建the_query的帖子?

另一种方法可能就是排除所有post_status设置为sold的帖子。

编辑: 通过一起重置the_query(下面的代码),我的代码起作用了。我仍然想知道事实之后是否可以修改查询。我尝试了remove_query_arg( $key, $query ),但是没有用。

重置the_query(不是我一直在寻找的解决方案):

$args = array( 'post_type' => 'CUSTOM_POST_TYPE', 'post_status' => 'publish' );
$the_query = new WP_Query( $args );

0 个答案:

没有答案