web-dev-qa-db-ja.com

401や403などのステータスコードを設定する方法

WordPressで404を設定することはWP_Queryset_404()メソッドとstatus_header()関数を使うことでとても簡単にできます。これがWP::handle_404()からの例です。

$wp_query->set_404();
status_header( 404 );
nocache_headers();

タグアーカイブを認証されたユーザーだけがアクセスできるようにしたい場合、リソースが存在するため、認証されていないユーザーに対して404ページを設定しても意味がありません。

私の質問

WordPressで401を設定するにはどうすればよいですか?

2
henrywright

他の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を呼び出します

0
Tom J Nowell