説明
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

コメント