_jsonp_wp_die_handler()


WordPressの_jsonp_wp_die_handler()関数は、JSONP形式でエラーメッセージを返すためのハンドラーです。wp_die()関数のカスタムハンドラーとして使用されます。

構文

_jsonp_wp_die_handler( $message, $title = '', $args = array() );

引数の説明:

  • $message (string|WP_Error) — 表示するエラーメッセージ
  • $title (string) — エラーページのタイトル
  • $args (array) — 追加の引数(response, callbackなど)

例1: 基本的なJSONPエラーの返却

JSONP形式でシンプルなエラーメッセージを返します。

wp_die( 'エラーが発生しました', '', array( 'response' => 500, 'handler' => '_jsonp_wp_die_handler' ) );

例2: カスタムコールバック関数名の指定

JSONPのコールバック関数名をcustomCallbackに変更します。

wp_die( 'データが見つかりません', '', array( 'response' => 404, 'handler' => '_jsonp_wp_die_handler', 'callback' => 'customCallback' ) );

例3: WP_Errorオブジェクトの使用

WP_Errorオブジェクトを渡してエラーを処理します。

$error = new WP_Error( 'db_error', 'データベース接続エラー' ); wp_die( $error, '', array( 'handler' => '_jsonp_wp_die_handler' ) );

例4: 403エラーの返却

403 ForbiddenエラーをJSONP形式で返します。

wp_die( 'アクセスが拒否されました', 'Forbidden', array( 'response' => 403, 'handler' => '_jsonp_wp_die_handler' ) );

例5: カスタムHTTPヘッダーの追加

追加のHTTPヘッダーを指定してエラーを返します。

wp_die( 'メンテナンス中です', '', array( 'response' => 503, 'handler' => '_jsonp_wp_die_handler', 'additional_headers' => array( 'Retry-After' => '3600' ) ) );

例6: エラーデータの追加

エラーに追加データを含めて返します。

wp_die( '無効なリクエスト', '', array( 'response' => 400, 'handler' => '_jsonp_wp_die_handler', 'data' => array( 'error_code' => 'invalid_request' ) ) );

例7: カスタムContent-Typeの設定

レスポンスのContent-Typeを変更します。

wp_die( 'APIエラー', '', array( 'response' => 500, 'handler' => '_jsonp_wp_die_handler', 'content_type' => 'application/javascript' ) );

注意事項

  • JSONPはセキュリティリスクがあるため、信頼できるドメインのみで使用してください
  • コールバック関数名は適切にバリデーションしてください
  • 機密情報をエラーメッセージに含めないでください