ワードプレスのwp_is_json_request関数の使用方法・解説

概要

wp_is_json_request関数は、WordPressが受信したリクエストがJSON形式であるかどうかを調べるための関数です。この関数は、主にREST APIやAjaxリクエストなど、JSONデータを扱う際に有効です。以下は、一般的な使用場面です。

  1. REST APIエンドポイントの検証
  2. Ajaxリクエストの処理
  3. フロントエンドとバックエンド間のデータ通信
  4. スマートフォンアプリへのデータ提供
  5. プラグインの開発でのデータ検証
  6. データのインポート/エクスポート処理
  7. SPA(Single Page Application)との連携
  8. 外部サービスとの統合

構文

wp_is_json_request();

パラメータ

この関数にはパラメータはありません。

戻り値

  • true:リクエストがJSON形式の場合。
  • false:リクエストがJSON形式でない場合。

関連する関数

使用可能なバージョン

WordPress 4.4以降で使用可能です。

コアファイルのパス

wp-includes/rest-api.php

サンプルコード

サンプルコード1

if ( wp_is_json_request() ) {
    // ここにJSONリクエストの場合の処理を追加
    echo json_encode( array( 'message' => 'これはJSONリクエストです。' ) );
}

このコードは、リクエストがJSON形式である場合に、その旨を示すメッセージをJSON形式で返します。

サンプルコード2

add_action( 'init', function() {
    if ( wp_is_json_request() ) {
        // JSONリクエストのヘッダーを設定
        header( 'Content-Type: application/json' );
    }
});

このコードは、JSONリクエストの場合に適切なContent-Typeヘッダーを設定します。

サンプルコード3

add_action( 'wp_ajax_my_ajax_action', function() {
    if ( wp_is_json_request() ) {
        // JSONリクエストの場合の処理
        wp_send_json_success( array( 'data' => '成功しました!' ) );
    }
});

このコードでは、AjaxリクエストがJSON形式である場合、成功メッセージをJSON形式で返します。

サンプルコード4

add_action( 'rest_api_init', function () {
    register_rest_route( 'myplugin/v1', '/data/', array(
        'methods' => 'GET',
        'callback' => function() {
            if ( wp_is_json_request() ) {
                return new WP_REST_Response( array( 'data' => 'これはREST APIの応答です。' ), 200 );
            }
        }
    ));
});

このコードは、REST APIのエンドポイントを登録し、リクエストがJSON形式の場合にデータを返します。

サンプルコード5

// JSONリクエストかどうかを確認
if ( ! wp_is_json_request() ) {
    wp_send_json_error( array( 'message' => 'JSONリクエストではありません。' ) );
}

このコードは、リクエストがJSON形式でない場合にエラーメッセージを返します。

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

非推奨または削除されたバージョン

現在、wp_is_json_request関数は特定のバージョンで非推奨または削除されていません。

この関数について質問する


上の計算式の答えを入力してください