メールフォームでの予約受付の作り方

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・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 に関する記事一覧

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