【MW WP Form】選択内容によって送信先メールアドレスを変える

WordPressのお問い合わせフォームプラグイン「MW WP Form」の送信先メールアドレスは、管理画面ではひとつしか設定することができません。
問い合わせ内容によって送信先を変えたいときに対応できるよう、選択内容によって送信先メールアドレスを変える方法を紹介します。

POINT
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の選択内容によって管理者宛メールの送り先を変更する方法!

  • URLをコピーしました!
目次