予約フォーム送信後に送る予約メールの内容は、管理画面の各種設定にあるテンプレートに従って、予約に関する入力や予約者の連絡先の入力を含めて送信されます。
予約メールには上記内容を含める事ができますが、予約品目の紹介など予約品目に登録した説明を含めることはできません。
予約メールに上記以外の内容で予約品目ごと異なるを文章を含めたい場合、以下に説明するメッセージフィルター機能を利用する事で実現いただけます。
メール送信直前のメッセージフィルター
メールを送信する直前に、メールの内容やメール送信パラメータを変更するためのメッセージフィルターが4つ用意されています。
このメッセージフィルターを利用する事で、件名、送信文の前文、送信文の後文、送信元情報、のそれぞれを書き換えることが可能です。
注意点として、メール送信は予約者、管理者、管理者携帯、予約品目設定先など複数の送信先がありますので、渡されるパラメータで条件確認をして適宜内容を書き替える必要が生じます。
1.件名
メッセージフィルターのキー名は「mtssb_mail_booking_subject」です。メッセージフィルター関数に2つの引数が渡されます。
引数1つめはメールの「件名」で、2つめは「予約品目ID」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
add_filter('mtssb_mail_booking_subject', 'mail_subject', 10, 2); function mail_subject($sbj, $param) { // 予約品目IDと予約者へのメールの確認 if ($param['article_id'] == xx && $param['receiver'] == 'client') { return '書き換える件名の内容'; } return $sbj; }
$param[‘receiver’]の値は送信先を示す内容が設定されており、以下のものがあります。
- client
予約者 - article
予約品目で設定されたメールアドレス - admin
各種設定の施設情報に設定された管理者のメールアドレス - mobile
各種設定の携帯に設定されたメールアドレス
2.前文
メッセージフィルターのキー名は「mtssb_mail_booking_header」です。メッセージフィルター関数に2つの引数が渡されます。
引数1つめはメールの「前文内容」で、2つめは「予約品目ID」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
add_filter('mtssb_mail_booking_header', 'mail_header', 10, 2); function mail_header($header, $param) { // 予約品目IDと予約者へのメールの確認 if ($param['article_id'] == xx && $param['receiver'] == 'client') { return '書き換えるヘッダーの内容'; } return $header; }
$headerの内容は送信先により異なります。実際にテスト予約、送信の内容を確認してから本番で利用すると良いでしょう。
3.後文
メッセージフィルターのキー名は「mtssb_mail_booking_footer」です。メッセージフィルター関数に2つの引数が渡されます。
引数1つめはメールの「後文内容」で、2つめは「予約品目ID」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
add_filter('mtssb_mail_booking_footer', 'mail_footer', 10, 2); function mail_footer($footer, $param) { // 予約品目IDと予約者へのメールの確認 if ($param['article_id'] == xx && $param['receiver'] == 'client') { return '書き換えるフッターの内容'; } return $footer; }
$footerの内容はメールテンプレートで設定された内容になります。実際にテスト予約、送信の内容を確認してから本番で利用すると良いでしょう。
4.送信元情報
メッセージフィルターのキー名は「mtssb_mail_booking_form」です。メッセージフィルター関数に2つの引数が渡されます。
引数1つめはメールの「送信元情報」で、2つめは「予約品目ID」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
add_filter('mtssb_mail_booking_from', 'mail_from', 10, 2); function mail_from($from, $param) { // 予約者へのメールの確認 if ($param['receiver'] == 'client') { // 予約品目ごと送信元情報を書き換える if ($param['article_id'] == xx) { return '予約IDがxxの送信元情報'; } elseif ($param['article_id'] == yy) { return '予約IDがyyの送信元情報'; } } return $from; }
$fromの内容は各種設定の施設情報で設定された内容になります。実際にテスト予約、送信の内容を確認してから本番で利用すると良いでしょう。
メール文を設定する際、テキストの改行は「”\n”」を利用します。あるいはPHPのヒアドキュメントの機能を利用しても良いでしょう。
ご注意)
上記サンプルプログラムは実際の動作確認をしておりません。もしスペルミスなど不具合があればお知らせいただけると助かります。
(Ver.1.27.0)