情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
Advanced Custom Fields Pro とContact Form 7 での定員締切や継続的な予約受付、カレンダーでのイベント予約受付などに必要な設定についてのメモ
単発のイベント
単発のイベントで詳細ページに直接専用のフォームを付ける場合に必要なのは、締切や定員を設定するカスタムフィールドとフォーム送信後にカスタムフィールドを更新する関数。
・送信後に何かする関数は add_action('wpcf7_mail_sent',~
・カスタムフィールドの更新は update_field( $field_key, $value, $post_id ); など
・フォームページへ遷移する場合はパラメータにイベント名などをつける、これはContact Form 7 – Dynamic Text Extensionでも設定可能
・申し込みメールアドレスを保存してwp_mailでリマインドメールを送信する仕組みをつけることもできます *保存したアドレスはリマインドメール送信時に削除されます。
複数日程のイベント
開催日をAdvanced Custom Fields のリピーターで設定する前提で必要なものは
・送信後にサブフィールドを更新する関数
・詳細ページからフォームに遷移する場合はパラメータに値を持たせてフィールドに入れる、これはContact Form 7 – Dynamic Text Extensionでも設定可能。
・詳細ページにフォームを表示する場合は選択した日時や値をフィールドに入れるスクリプト
・日程をカレンダーで表示したい場合はカレンダー表示のテンプレート、スライド表示したい場合はそれ用のスクリプト
*カレンダーから別ページに飛ばずに、直接時間選択・予約としたい場合は選択のポップアップ表示も必要。この場合はサブリピーターは日付のリピーターの行数で取得する。
・申し込みメールアドレスを保存してwp_mailでリマインドメールを送信する仕組みをつけることもできます *保存したアドレスはリマインドメール送信時に削除されます。
継続的な予約受付
1ヶ月分のスケジュールを1投稿とする前提で必要なもの
・定休日や通常の予約枠を組み込んで、効率よく投稿を作成するための関数、acf/load_value、date関数など
・今日以降を表示するための設定
・送信後の更新、スライド表示などは上記と同じ
その他のAdvanced Custom Fields に関する記事一覧
- ランダムな開催日のイベントアーカイブ
- 日付の配列から今日以前を削除
- ACF リピーター内の値を配列に入れる
- 予約・申し込み受付からリマインドメールまで
- タイムゾーンについて
- メタ値をすべて取得して配列に入れる
- メールフォームでの予約受付の作り方
- メールフォーム日時予約受付のサンプル
- WP REST API とACF リピーター
- カテゴリーの閲覧数
- ACF デートピッカーのフォーマット設定
- ACF リピーターをカレンダーに出力(予約カレンダーの実装)
- ACF 入れ子リピーターの内側だけループ
- WP REST API 独自エンドポイントとACF
- ACF 値の登録や保存
- REST API でACFの表示など
- Advanced Custom Fields の表示、まとめ
- PHP8以降で出るWarning
- イベントの開催期間の表示
- イベント終了時にタイトルに追加する