我有一个页面模板,显示帖子摘要列表,具体取决于用户定义的自定义查询,该查询是使用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 - 我错过了什么吗?
谢谢,
戴夫
答案 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页面)