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

概要

wp_send_json_success関数は、Ajaxリクエストの成功レスポンスとしてJSON情報を返すために使用されるWordPressの関数です。この関数は、特にAjax処理を簡素化し、JSON形式でのデータ返却を行う際に非常に便利です。

よく使われる機能

  • フォームデータの送信後に成功メッセージを返す
  • コンテンツの非同期読み込み時に成功レスポンスを送信する
  • カスタム投稿タイプの処理結果をAjaxで反映させる
  • ユーザーの設定が反映された時のレスポンス
  • インタラクティブなUIの一部としてデータを返す
  • ショートコードやウィジェットのAjax処理時にデータを供給する
  • バルクアクションの結果を通知する
  • ウェブアプリケーションのAJAX機能強化

構文

wp_send_json_success( mixed $data = null, string $message = '' );

パラメータ

  • $data: (optional) 成功レスポンスとして返すデータ。デフォルトはnull。
  • $message: (optional) 成功メッセージ。デフォルトは空文字。

戻り値

この関数は、エコーされたJSON形式のデータを返します。

関連する関数

使用可能なバージョン

wp_send_json_successはWordPress 3.3.0以降で使用可能です。

コアファイルのパス

wp-includes/rest-api.php

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

アクション 使用例
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

サンプルコード

サンプル1: シンプルな成功レスポンス

add_action( 'wp_ajax_my_action', 'my_action_callback' );
function my_action_callback() {
    // データの処理
    wp_send_json_success( array( 'message' => '成功しました!' ) );
}

このサンプルでは、Ajaxリクエストを介して成功メッセージを返します。

サンプル2: フォーム送信の成功レスポンス

add_action( 'wp_ajax_submit_form', 'submit_form_callback' );
function submit_form_callback() {
    // フォームデータの検証処理
    $data = $_POST['data'];
    // 何らかの処理
    wp_send_json_success( $data );
}

この例では、フォームデータが送信された後、そのデータを成功レスポンスとして返します。

サンプル3: メッセージとデータを返す

add_action( 'wp_ajax_fetch_data', 'fetch_data_callback' );
function fetch_data_callback() {
    $data = array( 'item1' => 'value1', 'item2' => 'value2' );
    wp_send_json_success( $data, 'データが正常に取得されました。' );
}

このサンプルでは、データとカスタムメッセージをレスポンスとして返しています。

サンプル4: 非同期でのデータ取得

add_action( 'wp_ajax_get_user_data', 'get_user_data_callback' );
function get_user_data_callback() {
    $user_data = get_user_meta( get_current_user_id() );
    wp_send_json_success( $user_data );
}

この例では、現在のユーザーのメタデータを取得し、成功レスポンスとして返します。

サンプル5: 成功とエラーの処理

add_action( 'wp_ajax_process_data', 'process_data_callback' );
function process_data_callback() {
    // データの処理ロジック
    if ( $success ) {
        wp_send_json_success( '処理が成功しました!' );
    } else {
        wp_send_json_error( '処理に失敗しました。' );
    }
}

このサンプルでは、処理が成功した場合と失敗した場合のレスポンスが示されています。

これらのサンプルは、さまざまな状況でのwp_send_json_successの用い方を示しています。

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


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