如何测试无效的WordPress WP_Query查询?

时间:2014-08-19 23:05:40

标签: wordpress wp-query

我有一个页面模板,显示帖子摘要列表,具体取决于用户定义的自定义查询,该查询是使用post_content提供的,例如:

category_name=blog

然后将其传递给WP_Query(),这将返回许多“博客”#39}。有帖子。

但是,如果我传递完全无效的查询(或者只是犯了一个错误),例如:

the rain in spain falls mainly on the plain

WP_Query->get_posts()将返回数据库中的所有帖子,而不是让我知道查询没有意义/错误。

是否有内置方法来测试无效查询?

目前,我正在执行parse_str()将查询转换为数组,然后根据我{{1}编译的有效查询参数列表array_intersect_keys()页面。

它有效,但感觉非常hacky - 我错过了什么吗?

谢谢,

戴夫

1 个答案:

答案 0 :(得分:0)

我不相信WP中内置的查询失败就像你要求的那样(我希望也有)。

但是,可能会有一个更干净的黑客。 wp_count_posts将返回数据库中所有帖子的计数。 wp_query将在$post_count中返回其结果的计数。您可以做的一件事是检查您的查询 - 如果wp_count_posts的结果等于$post_count,那么您就知道出现了问题。

它不像“没有结果”的反应那么干净,但可能比你当前的解决方案更直接。

http://codex.wordpress.org/Function_Reference/wp_count_posts

http://codex.wordpress.org/Class_Reference/WP_Query(搜索$ post_count页面)