I'll be NET 】創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)

トップページ > Wordpress > MW WP Form で入力された内容によって自動返信メールや管理者宛メールの内容を変更する方法

MW WP Form で入力された内容によって自動返信メールや管理者宛メールの内容を変更する方法

MW WP Form で入力された内容によって自動返信メールや管理者宛メールの内容を変更する方法

Wordpressのメールフォームプラグインは色々ありますが、私はよくMW WP Formを利用させていただいています。
理由としては

  • メールの送信確認画面を表示できる
  • 管理画面上で簡単にフォームの部品を作成できる
  • 様々なアクションフック・フィルターフックがありメール送信内容やバリデーションルールをカスタマイズできる
  • 解説(公式サイト)が日本語でわかりやすい

などがあります。

今回は、MW WP Form で自動返信メールや管理者宛メールの内容を変更する方法をご紹介します。

管理画面上でできること

MW WP Form を既にインストールしフォームを作成できていることを前提に話を進めます。
MW WP Form では、フォームを作成すると、フォームの管理画面上で自動返信メールや管理者宛メールの設定を変更できます。

画像内の[本文]内に下記のように記述すると、フォームで作成した部品の値をメール本文に出力することができます。

名前[your_name]とメールアドレス[your_email]をフォームで作成していた場合

◎お名前
{your_name}
 
◎メールアドレス
{your_email}

管理画面では、このように、メール本文に表示させたい項目を直接指定して出力できますが、条件分岐や計算などをしたい場合、function.phpでの変更が必要になります。
たとえば

  • 「住所」が入力されていたときは「住所」を表示するが、無記入の場合はなにも表示しない
  • 「郵便番号」が記載されていたときだけ「住所」も表示する

などです。

こういう場合は、以下に記載するようにfunction.phpを編集して対応しましょう。

function.phpでできること

自動返信メールの内容を変更する

自動返信メールの内容を変更したい場合、以下のフィルターフックを利用することができます。

mwform_auto_mail_mw-wp-form-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 );

解説:MW WP Form マニュアル

※[xxx]部分はフォームの識別子[mwform_formkey key="xxx"]の「xxx」の部分の数字に変更しておいてください。

使用例

郵便番号[zip]が入力されていたときは住所[address]をメール本文に追加し、電話番号[tel]が入力されていたときだけ電話番号[tel]を表示してみます。

/**
 * my_mail
 * @param object $Mail
 * @param array $values
 * @param MW_WP_Form_Data $Data
 */
function my_mail( $Mail, $values, $Data ) {
    // $Data->get( 'hoge' ) で送信されたデータが取得できます。
    if ($Data->get( 'zip' )){
        $Mail->body .= "【郵便番号】".$Data->get( 'zip' )."\r";
        $Mail->body .= "【住  所】".$Data->get( 'address' )."\r";
    }
    if ($Data->get( 'tel' )){
        $Mail->body .= "【電話番号】".$Data->get( 'tel' )."\r";
    }
    return $Mail;
}
add_filter( 'mwform_auto_mail_mw-wp-form-xxx', 'my_mail', 10, 3 );

このようにすると、管理画面で設定した本文に、条件を指定した上で住所や電話番号を追加することができます。

※[xxx]部分はフォームの識別子[mwform_formkey key="xxx"]の「xxx」の部分の数字に変更しておいてください。

管理者宛メールの内容を変更する

管理者宛メールの内容を変更したい場合、以下のフィルターフックを利用することができます。

mwform_admin_mail_mw-wp-form-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 );

解説:MW WP Form マニュアル

※[xxx]部分はフォームの識別子[mwform_formkey key="xxx"]の「xxx」の部分の数字に変更しておいてください。

使用例

郵便番号[zip]が入力されていたときは住所[address]をメール本文に追加し、電話番号[tel]が入力されていたときだけ電話番号[tel]を表示してみます。

/** * my_mail 
* @param object $Mail 
* @param array $values 
* @param MW_WP_Form_Data $Data 
*/ function my_mail( $Mail, $values, $Data ) {
    // $Data->get( 'hoge' ) で送信されたデータが取得できます。
    if ($Data->get( 'zip' )){
        $Mail->body .= "【郵便番号】".$Data->get( 'zip' )."\r";
        $Mail->body .= "【住  所】".$Data->get( 'address' )."\r";
    }
    if ($Data->get( 'tel' )){
        $Mail->body .= "【電話番号】".$Data->get( 'tel' )."\r";
    }
    return $Mail;
}
add_filter( 'mwform_admin_mail_mw-wp-form-xxx', 'my_mail', 10, 3 );

このようにすると、管理画面で設定した本文に、条件を指定した上で住所や電話番号を追加することができます。

※[xxx]部分はフォームの識別子[mwform_formkey key="xxx"]の「xxx」の部分の数字に変更しておいてください。

最後に

MW WP Formは他にもバリデーションルールを入力された値によって変更できるなど、本当にいろんなことができるメールフォームです。
公式サイトが既に詳しく説明してくれているので、そちらをくまなく見れば大抵のことは可能です。

このブログでも実際の使用例を含めて紹介していきたいと思います。

 

 

 

 

 

記事移動

関連記事

MW WP Form で選択された内容によって必須項目(バリデーションルール)を切り替える方法

Wordpressで投稿タイプを取得・表示する方法

Wordpressで全ての親ページの情報を取得する方法

Wordpressで記事のスラッグから記事IDを取得する方法

All-in-One Event Calendar で作成した予定にアクセスしたときのURLを変更する方法

Wordpressでカスタム投稿タイプの投稿のスラッグからIDやタイトルを取得する方法

Comment Form

  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)【I'll be NET】

プロフィール

author:I'll be NET

since:2014.01.01

東京都を拠点としたSOHO(フリーランス)による創作サイト向けWEB制作サービスを行っています。 お仕事とか創作活動とかでメモっておきたいこととかを掲載しています。

more

Feed