wp_die() の使い方|説明・引数・注意点

説明

wp_die() は、エラーメッセージを表示して、処理を終了する関数です。

基本構文

wp_die( string|WP_Error $message = '', string|int $title = '', string|array|int $args = array() ): void

引数

  • $message:表示するメッセージ
  • $title:ページタイトル
  • $args:response(HTTPステータス)、back_link など

戻り値

戻り値はありません(処理を終了します)。

使い方(サンプル)

wp_die( '権限がありません', 'エラー', array( 'response' => 403 ) );

注意点

  • WordPressの簡易なスタイルのHTMLページを、出力して、処理を終了します。
  • メッセージは画面に出力されるため、ユーザー入力をそのまま渡さないようにします。

実務での使いどころ

  • 致命的なエラーのときに、メッセージを出して、処理を終了するとき。
  • Ajaxの処理の、最後に、終了させるとき(wp_die())。
  • 権限がないときに、403 を返して、終了するとき。

よくあるミスと対処

  • メッセージに、ユーザーの入力を、エスケープせずに、含めている。メッセージは、HTMLとして出力されるため、XSSの原因になる。
  • ステータスコードを、指定していない。$args['response'] で指定する。
  • 内部の情報(パスなど)を、メッセージに出している。

NG例

wp_die( $_GET['msg'] ); // 入力が、そのまま画面に出る

OK例

wp_die(
	esc_html( '権限がありません。' ),
	'エラー',
	array( 'response' => 403 )
);

使い分け早見表

関数 役割
wp_die() メッセージを出して、処理を終了する
wp_send_json() JSONを出力して、処理を終了する
status_header() ステータスコードを設定する

関連項目

is_wp_error()、wp_send_json_error()、wp_send_json()

公式リファレンス:wp_die() | Function | WordPress Developer Resources

コメント

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