WordPressで404を設定することはWP_Query
のset_404()
メソッドとstatus_header()
関数を使うことでとても簡単にできます。これがWP::handle_404()
からの例です。
$wp_query->set_404();
status_header( 404 );
nocache_headers();
タグアーカイブを認証されたユーザーだけがアクセスできるようにしたい場合、リソースが存在するため、認証されていないユーザーに対して404ページを設定しても意味がありません。
私の質問
WordPressで401を設定するにはどうすればよいですか?
他のPHPプログラムと同じ方法です。
header("HTTP/1.1 401 Unauthorized");
exit;
404テンプレートがあるので、WordPressは404のための特別な取り扱いをします。通常、401のような何かが起こった場合、特別なテンプレートはありませんが、シンプルなUIでメッセージを表示するwp_die
を利用できます
header("HTTP/1.1 401 Unauthorized");
wp_die( 'forbidden' );
これはメッセージを灰色の背景に丸みを帯びたエッジとsans-serifテキストを含む白い長方形で表示し、そしてexit
/die
を呼び出します