wp_is_json_request()


WordPressの関数wp_is_json_request()は、現在のリクエストがJSONリクエストであるかどうかを確認するために使用されます。

構文

wp_is_json_request();

この関数は引数を取らず、現在のリクエストがJSONリクエストの場合にtrueを返し、それ以外の場合はfalseを返します。

例 1. JSONリクエストの確認

現在のリクエストがJSONリクエストかどうかを確認します。

<?php
if ( wp_is_json_request() ) {
    echo 'これはJSONリクエストです。';
} else {
    echo 'これはJSONリクエストではありません。';
}
?>

例 2. JSONリクエストの場合の条件分岐

JSONリクエストの場合に特定の処理を実行します。

<?php
if ( wp_is_json_request() ) {
    // JSONリクエストに対する処理
    wp_send_json_success( [ 'message' => '成功しました' ] );
}
?>

例 3. REST APIのリクエスト確認

REST APIのリクエストを検知するために使用します。

<?php
if ( wp_is_json_request() && strpos( $_SERVER['REQUEST_URI'], '/wp-json/' ) !== false ) {
    echo 'これはREST APIリクエストです。';
}
?>

例 4. フロントエンドとJSONリクエストの区別

フロントエンドリクエストとJSONリクエストを区別します。

<?php
if ( ! wp_is_json_request() ) {
    echo '通常のブラウザリクエストです。';
} else {
    echo 'JSONリクエストが検出されました。';
}
?>

例 5. 特定の条件でのJSONレスポンス

JSONリクエストの場合のみJSONレスポンスを返します。

<?php
if ( wp_is_json_request() ) {
    wp_send_json( [ 'status' => 'OK', 'data' => [] ] );
} else {
    echo '通常のリクエストです。';
}
?>

注意点

  • wp_is_json_request()は、REST APIやAJAXの処理に特に有用ですが、セキュリティを確保するため、適切な認証と入力検証を併用してください。
  • この関数はWordPressのコア関数であり、テーマやプラグイン内で直接使用できます。

関連機能: