如果我们将字符串传递给以下函数get_posts
, 并且该字符串不是有意义的查询字符串(例如get\\u posts(“”)),该函数返回默认查询的结果(最后五篇posts或类似的结果)。是否有可能抑制这种行为,或者更好的是,找出字符串是否是有意义的查询字符串,或者函数是否只是返回到默认值,因此它不是?
更改默认查询设置不是一个解决方案,因为我不想影响主循环,而只想调用get_posts
在插件中。
如果我们将字符串传递给以下函数get_posts
, 并且该字符串不是有意义的查询字符串(例如get\\u posts(“”)),该函数返回默认查询的结果(最后五篇posts或类似的结果)。是否有可能抑制这种行为,或者更好的是,找出字符串是否是有意义的查询字符串,或者函数是否只是返回到默认值,因此它不是?
更改默认查询设置不是一个解决方案,因为我不想影响主循环,而只想调用get_posts
在插件中。
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
根本不起作用。
嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post