我有一些代码可以在列表中显示特定的帖子类型。其他文件(不确定哪个文件)正在确定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 );