概要
wpforms_frontend_confirmation_message
アクションは、WordPressのWPFormsプラグインにおいて、フォーム送信後の確認メッセージをカスタマイズしたり、特定の処理を実行する際に使用されるフックです。このアクションは、様々なカスタマイズや拡張機能を実装する際に役立ちます。具体的には、次のような機能を実装する際に利用されることが多いです。
- ユーザーへのカスタマイズされたメッセージ表示
- 特定の条件に基づいてメッセージの内容を変更
- フォーム送信後にリダイレクトを行う
- 入力データを外部APIへ送信
- データベースへのカスタムロギング
- 他のプラグインとの統合
構文
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
が使用可能かどうかを示しています。