コーダーのKです。
WordPressサイトでフォームを作成したいときに役立つ、MW WP Form。
場合によっては、フォームの選択肢内容や、その他の条件によって管理者宛て自動送信メールの送り先を変更したい!という状況があったりしますよね。
今回はチェックボックスやプルダウンの選択肢によって、送信先を変更するための方法をご紹介したいと思います。
コード
早速ですが、コードは以下のようになり、function.phpに追記します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$mwFormID = フォームのID; function autoback_my_mail($Mail_raw, $values, $Data) { if ($Data->get('job') === '選択肢1') { $Mail_raw->to = test1@test.com; } else if ($Data->get('job') === '選択肢2') { $Mail_raw->to = test2@test.com; } else if ($Data->get('job') === '選択肢3') { $Mail_raw->to = test3@test.com; } return $Mail_raw; } add_filter('mwform_admin_mail_mw-wp-form-' . $mwFormID, 'autoback_my_mail', 10, 3); |
フィルターフック
1 |
'mwform_admin_mail_mw-wp-form-' . $mwFormID |
で管理者宛ての送信先切り替えを行います。
1 |
$Data->get('name') |
でMW WP Formで作成したフォームの’name’に当たるフォームの値を取得できます。その値によって処理を分岐し、
1 |
$Mail_raw->to |
に任意のメールアドレスを入れる事で送信先メールアドレスの設定が可能となります。
また
1 |
$Mail_raw->to |
は
1 |
$Mail_raw->bcc |
1 |
$Mail_raw->cc |
も同様に指定可能なので、CCやBCCの切り替えがあった場合も対応可能です。
メールアドレスはカンマ区切りで複数指定可能となっています。
また管理画面上で送り先を指定できるようにしたい場合は、Advanced Custom FieldsやSmart Custom Fieldsなどでオプションページを追加、管理すると、メールアドレスを変更したい場合も簡単ですね!
ただ、ここまでは管理者宛てのメールアドレス指定の話でしたが、管理者宛てメールアドレスが直接やりとりの窓口となる場合は、問い合わせユーザーにも同様に分岐したアドレスを送信元アドレスとして見せたいですよね。
その場合は、こちらを記載します。
1 2 3 4 5 6 7 8 9 10 11 12 |
function autoback_user_mail($Mail_raw, $values, $Data) { if ($Data->get('job') === '選択肢1') { $Mail_raw->from = test1@test.com; } else if ($Data->get('job') === '選択肢2') { $Mail_raw->from = test2@test.com; } else if ($Data->get('job') === '選択肢3') { $Mail_raw->from = test3@test.com; } return $Mail_raw; } add_filter('mwform_auto_mail_mw-wp-form-' . $mwFormID, 'autoback_user_mail', 10, 3); |
こちらはフィルターフック
1 |
'mwform_auto_mail_mw-wp-form-' . $mwFormID |
でユーザー宛てメールの送信元を変更します。
1 |
$Mail_raw->from |
に任意のアドレスを指定すれば変更可能です。
注意点として、メールの仕様上、送信元は一つのアドレスしか指定できないため、管理者宛てメールの送り先を複数、かつカスタムフィールド等でメールアドレス設定を共通にしている場合、こちらの設定自体、空の状態になってしまいます。
まとめ
今回はMW WP Formで作成したフォームの選択肢によって、送信先、送信元を切り替える方法をご紹介しました。
他にもメールの件名や文面など様々な指定ができるため、またご紹介したいと思います。
MW WP Formはその他多くのプラグインと違い、キタジマ タカシさんという日本人の方が作成しており、日本語の公式マニュアルが存在します。
公式マニュアルが日本語なのは嬉しいですよね!
MW WP Formマニュアル
こちらに記載のある内容を利用していけば、幅広い要望にもかなり柔軟に対応していけそうです。
ぜひ役立ててみてはいかがでしょうか。