前提是您在主题中定义了404页,如果$ wp_query-> query_vars中定义了“标签”,并且没有与该标签匹配的帖子,则Wordpress将显示404页。
我正在写一个插件,除了帖子外,它还在每个页面上显示一些信息。我想更改404逻辑,以便在没有与标签匹配的帖子且插件无法提取与该标签匹配的任何数据时显示404页面。如果插件可以找到数据,那么我想显示一个正常页面,无论该页面上是否有帖子...
我一直在谷歌搜索,阅读代码,阅读编解码器以及在这里闲逛,还无法弄清楚Wordpress在哪里触发了404,以及如何覆盖它。(我感觉它可能与functions.php中的status_header()有关,但尚不清楚我何时以及何时需要加入它)。
任何帮助/想法/启示表示赞赏。
谢谢,
〜补丁
// configuration
require('./wp-load.php');
// init WP (inits objects, language and stuff).
wp();
// fix title (this is not 404)
$wp_query->is_404 = false; // doesn't fix the actual 404 status
status_header( 200 ); // but this does :-)