概要
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
の用い方を示しています。