情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・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 に関する記事一覧
- 日付の配列から今日以前を削除
- ACF リピーター内の値を配列に入れる
- 予約・申し込み受付からリマインドメールまで
- タイムゾーンについて
- メタ値をすべて取得して配列に入れる
- メールフォームでの予約受付の作り方
- メールフォーム日時予約受付のサンプル
- WP REST API とACF リピーター
- カテゴリーの閲覧数
- ACF デートピッカーのフォーマット設定
- ACF リピーターをカレンダーに出力(予約カレンダーの実装)
- ACF 入れ子リピーターの内側だけループ
- WP REST API 独自エンドポイントとACF
- ACF 値の登録や保存
- REST API でACFの表示など
- Advanced Custom Fields の表示、まとめ
- PHP8以降で出るWarning
- イベントの開催期間の表示
- イベント終了時にタイトルに追加する
- アクセスランキング