このページではメニューにない内容、新バージョンの紹介、WordPressを利用するTips、機能ガイドに説明のないちょっと便利な機能などを紹介いたします。
資料
予約受付期間6カ月を12カ月に変更するメッセージフィルター
本稿は最新版Ver.1.34.4において動作確認しております。
このシステムの予約受付期間は、予約カレンダーを表示できる期間と同じにしています。カレンダーの表示期間の設定は、各種設定に「予約受付期間」という項目で「予約パラメータ」タブページにあり、「1」カ月から「6」カ月の範囲で選択できます。
ここでは、この選択範囲を12カ月まで延長して選択できるようにする、メッセージフィルターの説明をします。
下図は、下のメッセージフィルター関数を利用したときの「予約受付期間」の選択ボックスを表示したサンプルです。

メッセージフィルターは「mtssb_settings_get_period_months」を指定し、フィルター関数名「settings_period_months」とした関数を用意し、利用しているテーマディレクトリにある「functions.php」ファイルに追加します。
1 2 3 4 |
add_filter('mtssb_settings_get_period_months', 'settings_period_months', 10, 1); function settings_period_months($months) { return 12; } |
注意)この機能はPHPプログラムを利用するため、ソースにスペルミスなどエラーがあると画面が白く表示されたり、エラーメッセージが出ることがあります。バックアップの用意をお忘れなく。
メッセージフィルターの説明は次のページにあります。
予約メール文の前後に文を挿入するメッセージフィルター
予約フォーム送信後に送る予約メールの内容は、管理画面の各種設定にあるテンプレートに従って、予約に関する入力や予約者の連絡先の入力を含めて送信されます。
予約メールには上記内容を含める事ができますが、予約品目の紹介など予約品目に登録した説明を含めることはできません。
予約メールに上記以外の内容で予約品目ごと異なるを文章を含めたい場合、以下に説明するメッセージフィルター機能を利用する事で実現いただけます。
メール送信直前のメッセージフィルター
メールを送信する直前に、メールの内容やメール送信パラメータを変更するためのメッセージフィルターが4つ用意されています。
このメッセージフィルターを利用する事で、件名、送信文の前文、送信文の後文、送信元情報、のそれぞれを書き換えることが可能です。
注意点として、メール送信は予約者、管理者、管理者携帯、予約品目設定先など複数の送信先がありますので、渡されるパラメータで条件確認をして適宜内容を書き替える必要が生じます。
1.件名
メッセージフィルターのキー名は「mtssb_mail_booking_subject」です。メッセージフィルター関数に2つの引数が渡されます。
引数1つめはメールの「件名」で、2つめは「予約品目ID」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
1 2 3 4 5 6 7 8 |
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」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
1 2 3 4 5 6 7 8 |
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」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
1 2 3 4 5 6 7 8 |
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」と「受信先情報」が配列で渡されます。
以下メッセージフィルターの例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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)
予約時間割の予約残数表示について
予約カレンダーの曜日ヘッダーを書き換えるには
予約受付開始時間(受付開始マージン)を独自に設定するには
インターネットからの予約は、予約フォームから送信を受けて予約登録されます。
このとき予約を受け付けるかどうかは何の予約かによって異なり、ご近所であれば10分前の予約で良いものもあれば、準備などがあるため1週間前でないと予約が受け付けられない場合もあるかもしれません。
Ver.1.2 指定日時の予約受付数の調整
予約品目に設定された定員数、あるいは上限件数どちらも、スケジュールで予約数を増減すると時間割テーブルのすべてが同等に増減されます。
Ver.1.2では新しく、日時を指定してピンポイントで減じる調整機能が追加されました。
都合によりちょっとした変更ができるようになりました。