404エラーページを表示する前に、404エラーをインターセプトして、いくつかのことをしたいと思います。
404エラーを傍受するにはどうすればよいですか。
コメントで述べたように、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
の後にロードされるので、その時点以降にヘッダーを設定するには遅すぎます。