web-dev-qa-db-ja.com

404エラーを傍受する方法

404エラーページを表示する前に、404エラーをインターセプトして、いくつかのことをしたいと思います。

404エラーを傍受するにはどうすればよいですか。

5
Aerendir

コメントで述べたように、template_redirectはテンプレートがロードされる前に404をインターセプトするための適切なフックです。

function wpd_do_stuff_on_404(){
    if( is_404() ){
        // do stuff
    }
}
add_action( 'template_redirect', 'wpd_do_stuff_on_404' );

フロントエンドのアクションの一般的な順序については、 アクションリファレンス を参照してください。メインクエリはposts_selectionアクションとwpアクションの間で実行されるため、リクエストが404であると判断できるのは最も早い段階です。テンプレートはtemplate_redirectの後にロードされるので、その時点以降にヘッダーを設定するには遅すぎます。

13
Milo