MW MP Form の自動返信メールの内容を条件に応じて変更する方法

WordPress

animal_chara_computer_penguin

「MW WP Form の自動返信メールの内容を条件によって変えるにはどうしたらいいんだろう?」

そんな方向けに。

MW WP Form の自動返信メールを条件に応じて変更する方法をご紹介します。

MW WP Form の自動返信メールを条件に応じて変更する方法

mwwp-form-mail
MW WP Form では、上記のように管理画面から自動返信メールの内容を設定することができます。

しかし、ある条件によって自動返信メールの内容を変更するには、管理画面から設定することは出来ず、function.phpで設定する必要があります。

クライアント向けの自動返信メールと管理者側の自動返信メールで、設定方法が異なるのでそれぞれご紹介します。

クライアント向けの自動返信メールの設定

クライアント向けの自動返信メールの内容を変更するには、mwform_auto_mail_mw-wp-form-xxxというフックを使用します。

xxx部分はフォームの識別子[mwform_formkey key="xxx"]xxx部分の数字を入れます。


/**
 * my_mail
 * @param object $Mail
 * @param array $values
 * @param MW_WP_Form_Data $Data
 */
function my_mail( $Mail, $values, $Data ) {
    // $Data->get( 'hoge' ) で送信されたデータが取得できます。
    $Mail->to = 'hoge@example.jp'; // 送信先を変更
    $Mail->from = 'hoge@example.jp'; // 送信元を変更
    $Mail->sender = 'hoge'; // 送信者を変更
    $Mail->subject = 'テストです'; // 件名を変更
    $Mail->body = '本文だよ'; // 本文を変更
    // $Mail->send(); で送信もできます。
    return $Mail;
}
add_filter( 'mwform_auto_mail_mw-wp-form-xxx', 'my_mail', 10, 3 );

管理者側の自動返信メールの設定

管理者側の自動返信メールの内容を変更するには、mwform_admin_mail_mw-wp-form-xxxというフックを使用します。

xxx部分はフォームの識別子[mwform_formkey key="xxx"]xxx部分の数字を入れます。

クライアント向けの自動返信メール設定のフックと似ていますが、間違えないようにしましょう。


**
 * my_mail
 * @param object $Mail
 * @param array $values
 * @param MW_WP_Form_Data $Data
 */
function my_mail( $Mail, $values, $Data ) {
    // $Data->get( 'hoge' ) で送信されたデータが取得できます。
    $Mail->to = 'hoge@example.jp'; // 送信先を変更
    $Mail->from = 'hoge@example.jp'; // 送信元を変更
    $Mail->sender = 'hoge'; // 送信者を変更
    $Mail->subject = 'テストです'; // 件名を変更
    $Mail->body = '本文だよ'; // 本文を変更
    // $Mail->send(); で送信もできます。
    return $Mail;
}
add_filter( 'mwform_admin_mail_mw-wp-form-xxx', 'my_mail', 10, 3 );

おわりに

今回ご紹介した方法を使うことで、郵便番号が入力されていたときだけ住所をメール本文に追加したりすることが出来ます。

他にも、メルマガ登録などで、1度登録済みのユーザーが再度登録する時だけメール内容を変更するといったことも出来ます。

MW WP Form のに関する情報は公式サイトが分かりやすいので、是非一度目を通してみてください。