GET_POSTS-找出查询字符串是否是垃圾并使用了回退 时间:2013-06-16 作者:Paflow 如果我们将字符串传递给以下函数get_posts, 并且该字符串不是有意义的查询字符串(例如get\\u posts(“”)),该函数返回默认查询的结果(最后五篇posts或类似的结果)。是否有可能抑制这种行为,或者更好的是,找出字符串是否是有意义的查询字符串,或者函数是否只是返回到默认值,因此它不是?更改默认查询设置不是一个解决方案,因为我不想影响主循环,而只想调用get_posts 在插件中。 1 个回复 最合适的回答,由SO网友:s_ha_dum 整理而成 If you look at how the query works, 这不是。。。检查所传递的查询条件是否返回POST,否则运行回退查询。结果是,您的条件通过一系列非常复杂的条件与某些默认值合并。最后,你有SQL 那是为了得到你的帖子。系统不会检查你的情况是否“糟糕”,然后决定是否使用它们。这些条件以生成有效SQL 陈述我不知道这个查询怎么知道什么是“垃圾”,什么不是“垃圾”。我唯一能想到的就是pre_get_posts 并根据您定义的一组条件检查查询变量,以确定“crap”或“not crap”。至于您提供的特定示例,get_posts is intentionally written to retrieve the latest post if not passed any arguments.new WP_Query(\'\') 顺便说一句,我不会返回任何内容,但基本上我同意@toscho在评论中的建议——传递一个经过清理的字符串。在发送函数之前,请先了解要发送给函数的内容。如果字符串为空或不满足其他要求,请不要调用get_posts 根本不起作用。 结束 文章导航