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

説明

wp_is_json_request() は、現在のリクエストが、JSONを要求しているかを判定する関数です。

基本構文

wp_is_json_request(): bool

引数

引数はありません。

戻り値

JSONリクエストなら true。

使い方(サンプル)

if ( wp_is_json_request() ) {
	// JSON向けの処理
}

注意点

  • WordPress 5.0 で追加されました。

実務での使いどころ

  • JSONを期待する、リクエストで、HTMLを出力しないよう、分岐するとき。

よくあるミスと対処

  • REST APIの判定のつもりで、使っている。リクエストのヘッダー(Accept・Content-Type)による判定で、REST APIそのものを判定する関数ではない。
  • ヘッダーを送らないリクエストは、判定されない。

NG例

if ( wp_is_json_request() ) { // REST API だけの判定のつもり
	// ...
}

OK例

if ( wp_is_json_request() ) {
	return; // JSONのリクエストでは、HTMLを出力しない
}

使い分け早見表

関数 判定するもの
wp_is_json_request() JSONを期待するリクエストか
wp_doing_ajax() Ajax(admin-ajax.php)か
is_admin() 管理画面か

関連項目

wp_doing_ajax()、rest_url()

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

コメント

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