ContactForm7 選択肢ごとに返信メールに記載する文章を変えたい
-
ContactForm7を使って見積もりフォームを作成していますが
商品をチェックボックスで選択させて
その選択肢によって返信メールに記載される文章を変更したいです。例えば・・・
contactForm7 設定側
[checkbox_custom* checkbox_custom-25 exclusive "3000|りんご" "2500|いちご" "4000|すいか" "10000|メロン" "8000|マンゴー" "1500|トマト"]
value値を表側と裏側とで分けたいのでcheckbox_customを使用しました。
フォームの画面では「リンゴ」「いちご」といった商品名を表示させ、裏でCalculatedで合計金額を算出し、
その金額も返信メールに記載しています。返信メールの条件分岐でググって出てきたコードを少し変えて
functions.phpに以下を追加してみました。add_filter( 'wpcf7_special_mail_tags', 'my_special_mail_tags', 10, 2 ); function my_special_mail_tags( $output, $name ) { $name = preg_replace( '/^wpcf7\./', '_', $name ); if ( '_checkbox_custom-25' == $name ) { $a = 'りんご'; $b = 'いちご'; $c = 'すいか'; $d = 'メロン'; $e = 'マンゴー'; $f = 'トマト'; $name = 'checkbox_custom-25'; if ( $_POST[ $name ] == $a ) { $output .= 'リンゴの文章が入ります。'; } elseif ( $_POST[ $name ] == $b ) { $output .= 'いちごの文章が入ります。'."\n"; $output .= 'いちご案内文2行目'; } elseif ( $_POST[ $name ] == $c ) { $output .= 'すいか'."\n"; $output = 'すいか案内文2行目'; } elseif ( $_POST[ $name ] == $d ) { $output .= 'メロン'."\n"; $output .= 'メロン案内文2行目'; } elseif ( $_POST[ $name ] == $e ) { $output .= 'マンゴー'."\n"; $output .= 'マンゴー案内文2行目'; } elseif ( $_POST[ $name ] == $f ) { $output .= 'トマト'."\n"; $output .= 'トマト案内文2行目'; } return $output; } }
ここで独自のタグ「_checkbox_custom-25」を設定して、それを返信メール側に追加したのですが・・
そのままの文字列「_checkbox_custom-25」が表示されてしまいます。if ( '_checkbox_custom-25' == $name ) { $a = '3000|りんご'; $b = '2500|いちご'; $c = '4000|すいか'; $d = '10000|メロン'; $e = '8000|マンゴー'; $f = '1500|トマト'; $name = 'checkbox_custom-25';
こんな風に変更してみてもダメでした・・・。
PHPはググってコピペ、ちょっとカスタマイズレベルの知識しかありません。。
お知恵をかしていただけますでしょうか・・・。どうぞよろしくお願いいたします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「ContactForm7 選択肢ごとに返信メールに記載する文章を変えたい」には新たに返信することはできません。