プラグインWPFormsのwpforms_frontend_confirmation_messageアクションの使用方法・解説

概要

wpforms_frontend_confirmation_messageアクションは、WordPressのWPFormsプラグインにおいて、フォーム送信後の確認メッセージをカスタマイズしたり、特定の処理を実行する際に使用されるフックです。このアクションは、様々なカスタマイズや拡張機能を実装する際に役立ちます。具体的には、次のような機能を実装する際に利用されることが多いです。

  1. ユーザーへのカスタマイズされたメッセージ表示
  2. 特定の条件に基づいてメッセージの内容を変更
  3. フォーム送信後にリダイレクトを行う
  4. 入力データを外部APIへ送信
  5. データベースへのカスタムロギング
  6. 他のプラグインとの統合

構文

add_action('wpforms_frontend_confirmation_message', 'your_custom_function', 10, 2);

パラメータ

  • $form_data (array): フォームのデータ
  • $form_id (int): フォームのID

戻り値

このアクションは特定の戻り値を持たず、他の関数を呼び出すためのトリガーとして機能します。

使用可能なプラグインのバージョン

WPFormsバージョン:1.0以降(詳細なバージョン情報は公式ドキュメントを参照)

WordPressバージョン:4.0以降

サンプルコード

サンプル1: カスタムメッセージの表示

add_action('wpforms_frontend_confirmation_message', 'custom_confirmation_message', 10, 2);

function custom_confirmation_message($form_data, $form_id) {
    if ($form_id == 123) { // フォームIDが123の場合
        echo 'Thank you for your submission!';
    }
}

このコードは、フォームIDが123のフォー厶に送信後、「Thank you for your submission!」というメッセージを表示します。

サンプル2: リダイレクト処理の追加

add_action('wpforms_frontend_confirmation_message', 'redirect_after_submission', 10, 2);

function redirect_after_submission($form_data, $form_id) {
    if ($form_id == 234) { // フォームIDが234の場合
        wp_redirect('https://example.com/thank-you');
        exit;
    }
}

このコードは、フォームIDが234の場合、送信後に「https://example.com/thank-you」へリダイレクトします。

サンプル3: 外部APIへのデータ送信

add_action('wpforms_frontend_confirmation_message', 'send_data_to_api', 10, 2);

function send_data_to_api($form_data, $form_id) {
    if ($form_id == 345) { // フォームIDが345の場合
        $response = wp_safe_remote_post('https://api.example.com/submit', [
            'body' => json_encode($form_data),
            'headers' => ['Content-Type' => 'application/json']
        ]);
    }
}

このコードは、フォームIDが345のフォームが送信された後、外部APIにデータを送信します。

サンプル4: フォーム送信データのロギング

add_action('wpforms_frontend_confirmation_message', 'log_submission_data', 10, 2);

function log_submission_data($form_data, $form_id) {
    if ($form_id == 456) { // フォームIDが456の場合
        error_log(print_r($form_data, true));
    }
}

このコードは、フォームIDが456の場合、送信されたデータをエラーログに記録します。

サンプル5: 特定条件でのメッセージ変更

add_action('wpforms_frontend_confirmation_message', 'conditional_message', 10, 2);

function conditional_message($form_data, $form_id) {
    if ($form_id == 567 && isset($form_data['fields']['field_id']['value']) && $form_data['fields']['field_id']['value'] == 'yes') {
        echo 'You selected Yes!';
    } else {
        echo 'Thank you for your submission.';
    }
}

このコードは、フォームIDが567のフォームで特定のフィールドが「yes」の場合に、「You selected Yes!」というメッセージを表示します。

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

アクション名 使用可能
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

この表は、指定されたアクションの中でwpforms_frontend_confirmation_messageが使用可能かどうかを示しています。

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


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