我最近在多站点安装的页面和帖子上也有类似的内容。不幸的是,我还没有弄明白为什么WordPress有时不调用404模板,但我建立了一个解决方法:
在functions.php
我创建了一个小助手函数:
/**
* Helper for cases where the 404 template is not loaded correctly.
*
* @return bool
*/
function t5_force_404()
{
if ( have_posts() )
{
return FALSE;
}
header( \'HTTP/1.0 404 Not Found\' );
locate_template( \'404.php\', TRUE, TRUE );
$GLOBALS[\'wp_query\']->is_404 = TRUE;
return TRUE;
}
在
single.php
和
page.php
我这样称呼它:
if ( t5_force_404() ) {
return; // stop any further processing
}
// everything is fine, go on.
get_header();
所以……这会解决问题,但我仍然不知道为什么会发生。