How to intercept a 404 error

时间:2015-07-13 作者:Aerendir

我想截取404错误并在显示404错误页面之前做一些事情。

如何拦截404错误?

2 个回复
最合适的回答,由SO网友:Milo 整理而成

正如评论中提到的,template_redirect 将是一个合适的钩子,用于在加载模板之前拦截404。

function wpd_do_stuff_on_404(){
    if( is_404() ){
        // do stuff
    }
}
add_action( \'template_redirect\', \'wpd_do_stuff_on_404\' );
请参阅Action Reference 有关前端操作的一般顺序。主查询在posts_selectionwp 操作,以便最早确定请求是404。然后加载模板template_redirect, 因此,在这一点之后设置标题为时已晚。

SO网友:Kushal Shah

使用以下代码,您可以在404呼叫时直接在主页上重定向,请从404中删除所有代码。php文件并添加以下代码。

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".get_bloginfo(\'url\'));
exit();
?>

结束

相关推荐

Hooks for Links Box

Possible Duplicate:Getting archive pages in WP's AJAX internal link finder? 新的有挂钩吗internal links box 创建于WP 3.1? 我正在尝试在插件中修改它。