if(is_singular('do_not_show')){
// WP_Queryの404フラグを設定
global $wp_query;
$wp_query->set_404();
// HTTPステータス 404を返す
status_header(404);
// ブラウザ側でキャッシュさせないヘッダーを入れる
nocache_headers();
// 404.phpを表示
include( get_query_template( '404' ) );
exit();
}
どれも必須というわけではないので、ページの構成に合わせてお好みで必要な部分を入れる。
404を返したい時に必須といえるのは status_header(404)
くらいか?