予約・申し込み受付からリマインドメールまで

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

Advanced Custom Fields Pro とContact Form 7 で予約・申し込みの受付からリマインドメールを送信するまでの設定について

ACFの設定

ランダムな開催日のイベントの場合、リピーターで日時・時間、定員などのフィールドを作成。リマインドメールを送信したい場合は送信先アドレスを保存するフィールド、送信するためのチェックボックスなども。

継続的なスケジュールの場合はacf/load_value 関数でリピーターはほぼ自動で作成します。
*画像は1枠1組の想定で、定員が必要な場合は定員欄も作成します。

出力時に必要な年月日などの配列を作成するためのフィールドは投稿の更新時に自動で保存します。acf/save_post

メールフォーム送信時のアップデート

メールフォームは予約者の情報の他に投稿のフィールドをアップデートするための情報(投稿ID・リピーターの行がわかる値など)のフィールドを作成して、日時選択時に自動で入るようにします。

メール送信時はwpcf7_mail_sent で該当投稿のフィールドをアップデートし、定員の残り人数やメールアドレスの保存欄を更新します。1枠1組の場合は、その日時は予約不可となります。

リマインドメールを送りたい場合

メール送信時の自動返信の他にリマインドメールを送りたい場合、wp_schedule_single_event で自動で実行させる設定も可能ですが、実行されないこともあるので、acf/save_post で投稿の更新時に送信するほうが確実かと。
文面は関数で設定・リピーター内のフィールドで設定、どちらも可能です。
保存したメールアドレスはリマインドメール送信時に削除する想定です。

サンプル

継続的な予約受付サンプルはコチラ

イベントアーカイブをカレンダーで表示するサンプルはコチラ

ランダムなイベントをカレンダーで予約受付のサンプルはコチラ

サンプルはカレンダー表示になっていますが、単発や開催日の少ないイベントの場合はカレンダーなしでもフォームとの連携、リマインドメールを送る機能などは実装できます。

その他のAdvanced Custom Fields に関する記事一覧

Advanced Custom Fields に関する記事一覧ページへ