概要
elementor/settings/{$settings_name}/success_response_data
フィルタは、Elementor プラグイン内で特定の設定の成功時に返されるレスポンスデータを変更するために使用されます。このフィルタを使用することで、開発者は設定が正しく保存された際に返されるデータをカスタマイズし、特定のニーズに応じて機能を拡張することができます。
このフィルタは、以下のような機能を実装する際によく使われます:
- 成功メッセージのカスタマイズ
- API レスポンスのデータ構造の拡張
- 特定のユーザー向けのカスタムデータの追加
- 他のプラグインとの統合時のデータフィルタリング
- デバック用の追加情報提供
- 設定変更時のクライアント側のUI更新のトリガー
構文
add_filter( 'elementor/settings/{$settings_name}/success_response_data', 'my_custom_success_response_data', 10, 1 );
パラメータ
{$settings_name}
: 特定の設定の名前(ダイナミックなプレースホルダー)$response_data
: デフォルトで返されるレスポンスデータの配列
戻り値
カスタマイズされたレスポンスデータの配列。
使用可能なプラグインとバージョン
- Elementor バージョン: 3.x
- WordPress バージョン: 5.x
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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_filter( 'elementor/settings/my_settings/success_response_data', function( $response_data ) {
$response_data['custom_message'] = '設定が保存されました。';
return $response_data;
} );
このコードは、設定が成功裏に保存されたときに、レスポンスデータにカスタムメッセージを追加しています。
サンプルコード 2: ユーザー特有のデータの提供
add_filter( 'elementor/settings/my_settings/success_response_data', function( $response_data ) {
$response_data['user_id'] = get_current_user_id();
return $response_data;
} );
このコードは、設定保存時に現在のユーザーIDをレスポンスデータに追加します。
サンプルコード 3: デバッグ情報の追加
add_filter( 'elementor/settings/my_settings/success_response_data', function( $response_data ) {
$response_data['debug_time'] = current_time( 'mysql' );
return $response_data;
} );
このコードは、成功レスポンスにデバッグ用のタイムスタンプを追加します。
サンプルコード 4: JSON形式でのレスポンスの拡張
add_filter( 'elementor/settings/my_settings/success_response_data', function( $response_data ) {
$response_data['json_data'] = json_encode( array( 'status' => 'success' ) );
return $response_data;
} );
このコードは、成功した設定保存時にJSON形式のデータを追加します。
サンプルコード 5: 特定の設定が成功した場合の追加データ
add_filter( 'elementor/settings/my_settings/success_response_data', function( $response_data ) {
if ( isset( $_POST['my_setting'] ) ) {
$response_data['my_setting_value'] = sanitize_text_field( $_POST['my_setting'] );
}
return $response_data;
} );
このコードは、特定の設定が存在する場合、その値をレスポンスデータに追加します。