contact form7ラジオボタンのメール内容を条件分岐

WordPress
スポンサーリンク

ラジオボタンで選択した項目によって、自動返信メールの内容を分岐させてみたよ!

難しくて、苦戦したけどなんとかできました!

functions.phpにアクションフックを使ってメール分岐させます

下記のようなラジオボタンだった場合

<ul class="contact-list top">
  <li class="ttl">希望校舎<span class="required">必須</span></li>
  <li class="field bifurcation-area">[radio radio-school use_label_element default:1 
"A校舎" "B校舎" "C校舎"]</li>
</ul>

functions.phpに下記のように書くと、ラジオボタンの選択項目に合わせて、メール内容を分けることができました。


// メール内容 条件分岐 -------------------------------------------


function my_special_mail_tags($output, $name) {
  if($name == 'newselect') {
    $postData = WPCF7_Submission::get_instance()->get_posted_data();
    if($postData['radio-school'][0] == 'A校舎') {
      $output = "A校舎--お問い合わせ頂き、誠に有難うございます。こちらはA校舎を選択されたお客様へ送信されるメール内容になっております。";
    } elseif ($postData['radio-school'][0] == 'B校舎') {
      $output = "B校舎--お問い合わせ頂き、誠に有難うございます。こちらはB校舎を選択されたお客様へ送信されるメール内容になっております。";
    } elseif ($postData['radio-school'][0] == 'C校舎') {
      $output = "C校舎--こちらはC校舎を選択された方に送信されるメール内容になっております。";
    }
  }
  return $output;
}
add_filter('wpcf7_special_mail_tags', 'my_special_mail_tags',10,2);

・’newselect’は分けたメール内容を吐き出すための、名前になります。(新規でおすきな名前)

・’radio-school’はラジオボタンの名前です。

なしでも試しましたが、contact form7の仕様なのか(連想配列?)、[‘radio-school’][0]こういうふうに[0]が必要なようです。

メールにもタグを書きます

[your-name]様
お問い合わせいただきありがとうございます。

お問い合わせ種類:[newselect] 

・contact formの自動返信メールに[newselect]を書くと、それぞれ(A・B・C)の内容が吐き出されます。

例)A校舎–お問い合わせ頂き、誠に有難うございます。こちらはA校舎を選択されたお客様へ送信されるメール内容になっております。

参考にさせてもらったページ

Contact form7 ラジオボタンで自動返信メール内容を分ける方法
ラジオボタンの種類によって返信内容分けたいんだけどなぁ…Contactform7のメールをラジオボタンとかで選んだ項目別で返信内容分けてほしいんだけど…お客様からこんな希望や要望を受ける場合もある ...
タイトルとURLをコピーしました