You're lovin' it.

【MW WP FORM】選択されたラジオボタンの値によって送信先を分ける方法

WordPressを利用している方の多くは問い合わせフォームのプラグイン”MW WP FORM”を使っているかと思います。無料プラグインとは思えないくらい高機能で便利ですよね。

  • 複数店舗を運営していて、問い合わせフォームは1つ
  • 『問い合わせ店舗』というラジオボタンで店舗A、店舗B、、、、といった選択された店舗によってメールの送信先(通知先)を分けたい

といった方向けの記事だと思ってください。

ラジボタンの設置

[mwform_radio name="問い合わせ店舗" children="店舗A,店舗B,店舗C" vertically="true"]

functions.phpへの記述

<?php
function autoback_my_mail_by_store($Mail_raw, $values, $Data) {
  $store = $Data->get('問い合わせ店舗');//ラジオボタンのnameと合わせる

  $store_email_mapping = array(
      '店舗A' => 'tenpo-a@xxxxxxx.jp',//ラジオボタンで店舗Aが選択されたらtenpo-a@xxxxxxx.jpこれに通知
      '店舗B' => 'tenpo-b@xxxxxxx.jp',//ラジオボタンで店舗Bが選択されたらtenpo-b@xxxxxxx.jpこれに通知
      '店舗C' => 'tenpo-c@xxxxxxx.jp'//ラジオボタンで店舗Cが選択されたらtenpo-c@xxxxxxx.jpこれに通知
  );

  if (isset($store_email_mapping[$store])) {
      $Mail_raw->to = $store_email_mapping[$store];
  }

  return $Mail_raw;
}

// フォームキーに合わせてフィルターを追加
add_filter('mwform_admin_mail_mw-wp-form-フォームキー', 'autoback_my_mail_by_store', 10, 3);

フォームキーは下記になります。

[mwform_formkey key="ここの数字"]