WordPressで強制的に404ページを表示する方法

Wordpress

WordPressのサイトを作っていて、URLに特定のパラメータを付与してページの出し分けをする場合などに、不正なパラメータが指定されていたら404 Not foundを表示したいなと思いまして。

ググると出てくるのは、リダイレクトする方法ばかりなのですが、それだと404を出力したことにならないわけで、リダイレクトせずに404ページを出したいのです。

以下のphpコードを実行することで、希望の動作を実現できました。

  global $wp_query;
  $wp_query->set_404();

  // ステータスコードを404に設定
  status_header(404);

  // ブラウザにキャッシュさせたくない場合は以下のメソッドを追加する
  nocache_headers();

  // 404ページのテンプレートに差し替える
  include( get_query_template( '404' ) );

  // exitを書かないと、続きが表示されてしまうので忘れずに書く
  exit;

コメント

タイトルとURLをコピーしました