MW WP Formでフォーム入力内容に連動して独自のアクションを実行する
設定項目に応じたアクション実行
MW WP Formで、フォームに入力した内容に応じて何らかのアクションを起こしたい。例えば「メルマガ登録」というチェックボックス項目があって、チェックを入れたらメルマガスタンドに空きメールを送信して登録する、という処理の実現方法です。
フィルターフック
MW WP Formでは、一連の処理段階ににおいてフィルターフックと呼ばれる制御が提供されており、これを利用してカスタマイズが可能になります。
今回使用するのは完了画面の内容を設定できるフィルターフックmwform_complete_content_mw-wp-form-xxxです。
https://plugins.2inc.org/mw-wp-form/filter-hook/mwform_complete_content_mw-wp-form-xxx/
このフィルターフックでは MW_WP_Form_Data オブジェクトでメールの内容が通知されるので、メールの設定内容との連動が可能になります。
方法
MW WP Form の設定(必要なショートコードだけ抜粋)
1 2 |
[mwform_checkbox name="メルマガ登録" children="登録する" value="登録する"] [mwform_text name="メールアドレス" value=""] |
以下のコードをご自身の環境に合わせてfunctions.phpに記述してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function my_mwform_complete_content( $content, $Data ) { // MW_WP_Form_Data オブジェクトから「メルマガ登録」というチェックボックスの値を取得 $checkbox = $Data->get('メルマガ登録'); // チェックされていれば「登録する」というテキストが格納されている if($checkbox === '登録する'){ // MW_WP_Form_Data オブジェクトからメールアドレスを取得 $mailAddress = $Data->get('メールアドレス'); // メールを送信する $to = "regist@mailmagazin.com"; $subject = ""; // メール件名 $message = ""; // メール文面 $headers = "From: ".$mailAddress; mb_send_mail($to, $subject, $message, $headers); } return $content; // コンテンツはそのまま返す } add_filter( 'mwform_complete_content_mw-wp-form-xxx', 'my_mwform_complete_content', 10, 2 ); |
※xxxはショートコード[mwform_formkey key=”xxx”]のxxxです。
弊社サイトご案内
弊社ではデザイン会社様やウェブサイト制作会社様との提携・協業を随時お願いしております。