问题描述
我在一个具有搜索功能的网站上工作,允许用户搜索很多帖子元。有一个特定的搜索模式,我想强制返回没有结果。 WP_Query 技术上会在数据库中找到结果,但是我想以某种方式重写,强制它不返回任何结果来触发 if( $example->have_posts() )
失败。
有没有一些可以传递给 WP_Query 的参数,如'force_no_results' => true
,将强制它返回没有结果?
最佳解决方案
尝试
'post__in' => array(0)
简单到点。
次佳解决方案
奇怪的是没有干净/明确的方式来短路 WP_Query
。
如果是主要查询,您可能会在 WP->parse_request()
周围工作,似乎有相对较近的 (3.5)do_parse_request
过滤器。
但是对于 WP_Query
本身肮脏的黑客通常是有序的,如 short-circuiting SQL 查询通过 AND 1=0
通过 posts_where
过滤器等。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。