プラグイン:MW WP FORMを利用した選択内容に応じて自動返信内容が変化するフォームの作り方

こんにちは。㈱シンラウンド代表の中島 達(@NakajimaSatoru)です。

入力フォームを作成する際に、ラジオボタンなどで選択した項目に応じて、入力してもらう項目を変えたいといったことは多いかと思います。

上記のような機能を持たせた際に、選択項目に応じて送信するメールの内容を変更することは多いかと思います。

そこで今回は、プラグイン:MW WP FORMを利用した問い合わせフォームにおいて、ラジオボタンの選択項目に応じてメール送信内容を変更する方法をご紹介します。

実現したい形

リアルセミナーを選択して送信した場合と、オンラインセミナーを選択して送信した場合でメールの送信内容を変更する。

実現方法

フォーム画面での設定

フォーム作成画面では、リアルセミナー、オンラインセミナーの選択肢を以下の用に設定します。

[mwform_radio name="participate" id="participate" value="" children="オンラインセミナー,出版セミナー" vertically="true"]

nameとchildrenを以降の設定で利用します。

name=”participate”
children=”オンラインセミナー,リアルセミナー”

function.phpの設定

function.phpに以下に習ってコードを追加します。

function my_mail( $Mail, $values, $Data ) {
	
	 // オンラインセミナーの条件
	if ($Data->get( 'participate' ) == 'オンラインセミナー'){

	$Mail->to = 'hoge@example.jp'; // 送信先を変更
    $Mail->from = 'hoge@example.jp'; // 送信元を変更
    $Mail->sender = 'hoge'; // 送信者を変更
    $Mail->subject = 'テストです'; // 件名を変更
    $Mail->body = '本文だよ'; // 本文を変更	

	}
	 // リアルセミナーの条件
	if ($Data->get( 'participate' ) == 'リアルセミナー'){
	//中に変更内容を記載します。
	}
	return $Mail;
}
add_filter( 'mwform_auto_mail_mw-wp-form-XXXX', 'my_mail', 10, 3 );

参考:MW WP Form公式サイト(https://plugins.2inc.org/mw-wp-form/

補足

$Data->get( ‘〇〇’ )

フォームで設定した[name]の中身を確認します。

この際に、フォームにおいて「1:オンラインセミナー」とした場合には、「オンラインセミナー」だけが中身となるため注意。

add_filter( ‘mwform_auto_mail_mw-wp-form-XXXX’, ‘my_mail’, 10, 3 );

mwform_auto_mail_mw-wp-form-XXXX:自動返信メール
mwform_admin_mail_mw-wp-form-XXXX:管理者向けメール

となります。

そのため、自動返信メールと、管理者向けメールが同一で良い場合には、

function my_mail( $Mail, $values, $Data ) {

  //メールの内容

}
add_filter( 'mwform_auto_mail_mw-wp-form-XXXX', 'my_mail', 10, 3 );
add_filter( 'mwform_admin_mail_mw-wp-form-XXXX', 'my_mail', 10, 3 );

としても大丈夫です。

※「XXXX」に関しては、フォーム拡張子[mwform_formkey key=”XXXX”]の「XXXX」と合わせてください。

メールの文章にフォームで入力してもらった内容を利用する。改行を行う。

フォームで入力してもらった内容は、「$Data->get( ‘〇〇’ )」
通常の文章を入力する場合には、「”文章の内容”」
改行に関しては、「”\n”」

となります。

そのため、これらを組み合わせて、文章を作成します。

参考例
	if ($Data->get( 'participate' ) == 'オンラインセミナー'){
		$Mail->subject = $Data->get( 'seminar-name' )."へのお申込を受付ました。";
		$Mail->body = "下記の内容で、お申し込みを受付しました。"."\n"
			."\n"
			."お名前:".$Data->get( 'name' )."\n"
			."メールアドレス:".$Data->get( 'mail' )."\n"
			."セミナー名:".$Data->get( 'online-seminar' )."\n"
			."受講料(税込):参加費33,000円"."\n"
			."コメント:"."\n"
			.$Data->get( 'comment' )."\n";
	}

まとめ

プラグイン:MW WP FORMに関しては、contact form 7の次に有名なお問い合わせフォームを作成するためのプラグインです。

そのため、機能やカスタマイズの幅も広く、様々なことが出来ますので、是非利用してみてください。

投稿者プロフィール

中島 達(Nakajima Satoru)
中島 達(Nakajima Satoru)
株式会社Synround 代表取締役

「続ける。 」をコンセプトに、Webマーケティングにおける戦略立案/サイト制作/システム保守/コンテンツ制作を実施。

web、動画は作っただけでは意味が無くて、そこから育てて行く物。ただ、中小企業、小規模税理士事務所では人や費用により続けることが難しいため、続けるための環境作りをしてます。

過去の事業:Webサービス×2、レンタルスペース5店舗

ABOUTこの記事をかいた人

株式会社Synround 代表取締役 「続ける。 」をコンセプトに、Webマーケティングにおける戦略立案/サイト制作/システム保守/コンテンツ制作を実施。 web、動画は作っただけでは意味が無くて、そこから育てて行く物。ただ、中小企業、小規模税理士事務所では人や費用により続けることが難しいため、続けるための環境作りをしてます。 過去の事業:Webサービス×2、レンタルスペース5店舗