WordPressのお問い合わせフォームプラグイン「MW WP Form」の送信先メールアドレスは、管理画面ではひとつしか設定することができません。
問い合わせ内容によって送信先を変えたいときに対応できるよう、選択内容によって送信先メールアドレスを変える方法を紹介します。
POINT
function.phpの編集が必要になるため、お客様での運用は難しいというデメリットがあります。
実際の運用を検討した上での実装が必要です。
function.phpの編集が必要になるため、お客様での運用は難しいというデメリットがあります。
実際の運用を検討した上での実装が必要です。
目次
1.MW WP Formの設定
1-1.選択肢を作る
MW WP Formで選択肢を作成します。radioでもselectでも大丈夫です。
[mwform_radio name="choice" children="選択肢1,選択肢2,選択肢3"]
1-2.管理者当てメール設定の送信先(E-mailアドレス)の設定
MW WP Formの送信先(E-mailアドレス)は空白にしてください。
2.function.phpに記述
function.phpに以下のように記述して、選択肢によって送信先が変わるように設定します。
function autoback_my_mail($Mail_raw, $values, $Data) { if ($Data->get('choice') === '選択肢1') { $Mail_raw->to = 'aaa@example.co.jp'; } else if ($Data->get('choice') === '選択肢2') { $Mail_raw->to = 'bbb@example.co.jp'; } else if ($Data->get('choice') === '選択肢3') { $Mail_raw->to = 'ccc@example.co.jp'; } return $Mail_raw; } add_filter('mwform_admin_mail_mw-wp-form-000', 'autoback_my_mail', 10, 3);
・“choice”は1-1で作成した選択肢のnameを入力
・“選択肢1”などは1-1で作成した選択肢のchildrenを入力
・“mwform_admin_mail_mw-wp-form-000”はフォーム識別子の数字を入力
3.選択肢によって送信先以外も変える
2まで送信先の設定は完了しますが、さらに送信元も選択肢によって変えることができます。
以下は選択肢によって送信元を変えるコードです。
function autoback_user_mail($Mail_raw, $values, $Data) { if ($Data->get('choice') === '選択肢1') { $Mail_raw->from = 'aaa@example.co.jp'; } else if ($Data->get('choice') === '選択肢2') { $Mail_raw->from = 'bbb@example.co.jp'; } else if ($Data->get('choice') === '選択肢3') { $Mail_raw->from = 'ccc@example.co.jp'; } return $Mail_raw; } add_filter('mwform_auto_mail_mw-wp-form-000', 'autoback_user_mail', 10, 3);
それ以外にも細かく設定可能です。
- CC
$Mail_raw->cc - BCC
$Mail_raw->bcc - 送信者を変更
$Mail_raw->sender = ‘example’; - 件名を変更
$Mail_raw->subject = ‘{name}様、お問い合わせありがとうございます。’; - 本文を変更
$Mail_raw->body = ‘{問い合わせ内容}’;
※{}内はMW WP Formで作成したフォームタグのname
以上、MW WP Formで選択内容によって送信先メールアドレスを変える方法でした。
参考
・【MW WP Form】送信先メールアドレスを選択内容によって変更する方法
・MW WP Formの選択内容によって管理者宛メールの送り先を変更する方法!