Contact Form 7は、WordPressでフォームを簡単に作成できる便利なプラグインですが、ユーザーが選択したラジオボタンの内容に応じて返信メールをカスタマイズする方法をご存じですか?
この記事では、ラジオボタンの選択肢に基づいてメール内容を変更する簡単な方法から、カスタムコードを使った高度な方法までを解説します。
方法 1: テンプレートでの条件分岐を使う方法
テンプレート内で条件分岐を記述することで、シンプルに返信メールの内容を分けることができます。
ステップ 1: ラジオボタンの設定
フォームにラジオボタンを追加します。
HTML
[radio radio-choice use_label_element "Option1" "Option2" "Option3"]
ステップ 2: メールテンプレートの編集
メールテンプレートに以下のように条件分岐を追加します。
Plaintext
件名: お問い合わせありがとうございます
{your-name} 様
以下の内容でお問い合わせを受け付けました:
----------------------------------------------
選択されたオプション: {radio-choice}
対応メッセージ:
[radio-choice "Option1" "Option1を選択した方への特別な返信内容"]
[radio-choice "Option2" "Option2を選択した方への特別な返信内容"]
[radio-choice "Option3" "Option3を選択した方への特別な返信内容"]
その他の情報:
{your-message}
この方法では、ラジオボタンの選択肢に応じたメッセージを動的に挿入できます。
方法 2: カスタムコードを使う方法
メール内容のカスタマイズをより柔軟に行いたい場合は、functions.php
にカスタムコードを追加します。
ステップ 1: カスタムコードの追加
以下のコードをテーマの functions.php
に追加してください。
PHP
add_filter( 'wpcf7_mail_components', 'custom_mail_message', 10, 3 );
function custom_mail_message( $components, $contact_form, $mail ) {
// 現在のフォームの送信データを取得
$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
$data = $submission->get_posted_data();
// ラジオボタンの選択値を取得
$radio_value = isset( $data['radio-choice'] ) ? $data['radio-choice'] : '';
// 選択値に応じてメール本文を変更
if ( $radio_value === 'Option1' ) {
$components['body'] .= "\n\nこのメッセージはOption1を選択した場合のものです。";
} elseif ( $radio_value === 'Option2' ) {
$components['body'] .= "\n\nこのメッセージはOption2を選択した場合のものです。";
} elseif ( $radio_value === 'Option3' ) {
$components['body'] .= "\n\nこのメッセージはOption3を選択した場合のものです。";
}
}
return $components;
}
ステップ 2: 動作確認
フォームを送信して、ラジオボタンの選択肢に応じてメールが正しく分岐していることを確認してください。
注意点
- バックアップを取る:
functions.php
を編集する前に、必ずテーマのバックアップを取ってください。 - フォームIDの確認: 特定のフォームでのみ適用したい場合は、フォームIDを条件に加える必要があります。
まとめ
ラジオボタンの選択肢に応じて返信メールをカスタマイズする方法は、簡単な条件分岐を使う方法と、カスタムコードを使う方法の2つがあります。用途や要件に応じて、適切な方法を選んで実装してください。
これにより、よりユーザーに寄り添った丁寧な対応が可能になります!