如何解决如何在没有过滤器的情况下运行 Wordpress wp_query?
我有一个自定义的 Wordpress 插件,可以搜索自定义类型下载的所有帖子,我需要查询才能找到所有帖子:
$args = array(
'post_type' => 'download','post_status' => 'publish','posts_per_page' => 10,'suppress_filters' => true,'paged' => $request['id'],'suppress_filters' => true
);
$posts = new WP_Query( $args );
不幸的是,当我运行查询时,一个插件 Easy Digital Downloads 覆盖了我的查询以包含 post__not_in,它排除了我实际需要的一些结果:
"post__not_in": [
"1241","1343","1452","1467","1247"
]
我可以看到生成的 SQL 如下所示:
"sql_query": "SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.ID NOT IN (1241,1343,1452,1467,1247) AND wp_posts.post_type = 'download' AND ((wp_posts.post_status = 'publish')) ORDER BY wp_posts.post_date DESC LIMIT 0,100"
我尝试停用 EDD,这使我的查询按预期工作,但我认为添加 'suppress_filters' => true
应该在应用过滤器时撤消,但我一定是做错了什么。我还检查了 EDD 生成的 pre_get_posts
(只有一个)并将它们关闭,但这也不起作用。
如何在没有排除的情况下获得实际的完整结果?我乐于接受各种想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。