要解决这个问题有点困难,但我会试着逐一阐述你的观点。
创建一个单独的404。php页面来控制该页面的输出。(以及对任何其他尝试保持沉默)
404.php
模板控制404页的显示。这与WP模板层次结构的其余部分高度一致。它也不是强制性的,没有它,模板逻辑将继续使用index.php
它的模板。
基本上是因为他们没有提供好的后备(或者我还没有找到?)控制第二个查询:如果初始查询没有返回任何内容,则运行回退查询。
没有回退,因为有逻辑分支让它继续。Main query接收查询变量的输入,要么生成一组帖子,要么不生成。根据具体的上下文,后者可能是404,也可能不是404(单个帖子是404,存档不是404,我总是觉得奇怪)。
通过指示我们创建另一个没有循环的文档,您永远不会注意到循环仍在返回所有博客帖子。
事实并非如此。我很难想象主查询同时生成404和成功查询帖子(更不用说“全部”了)的情况。这听起来像是一个被窃听的主题/插件的作品。
是的,我可以修改主查询,但这没有任何意义,因为一旦在初始循环中找不到任何内容,所有帖子都将被检索。
如上所述,他们不会。或者至少他们不应该这样。
是否有人知道如何防止/更改回退查询?
第一步是找出它的来源,因为它不是来自WordPress核心