予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

goom Lab シンプル予約 v1.0.1 操作マニュアル

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

対応バージョン:goom Lab シンプル予約 v1.0.1
動作確認環境
・WordPress 6.6.x
・PHP 8.1 / 8.2
・テーマ:テスト環境 Astra 最新版

このマニュアルでできること
・プラグインをインストール → 有効化 → 基本設定まで迷わず完了
・固定ページを作成し、ショートコードを正しく配置
・スタッフとメニューの登録
・カレンダー → 予約フォーム → 確認メール → 本予約 までの一連の流れ
・reCAPTCHA v3 の導入(スパム対策)
・よくあるトラブルの解決

1 . 用語と全体像(まずはここだけ読めばOK)

1-1 . 予約の流れ(ユーザー目線)

スタッフ一覧 → メニュー一覧 → カレンダーで日時選択 → 予約フォーム送信
→ [仮予約]メール到着 → メールの確認リンクをクリック
→ [本予約]確定(管理画面の一覧でも確認済表示)

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

1-2 . 作る固定ページ(例)

・/staff/ …… スタッフ一覧ページ
・/menu/ …… メニュー一覧ページ
・/calendar/ …… カレンダー(メニューとスタッフを選んで日時を選択)
・/booking/ …… 予約フォーム(STEP 4/4)

サブディレクトリ(例:/homepage/)運用の場合は、ショートコードの属性URLも同じサブディレクトリ込みで書きます。
例:calendar_page=”/homepage/calendar/”、booking_page=”/homepage/booking/”

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル
予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

2 . インストール&初期設定

2-1 . インストール

1.WordPress 管理画面 → プラグイン > 新規追加 > プラグインのアップロード
2.ファイル:goomlab-simple-booking-min-1.0.1.zip を選んでアップロード
3.有効化 をクリック
4.念のため 設定 > パーマリンク を開き、何も変更せず[変更を保存](内部ルールを再生成)

2-2 . 予約の基本設定

1.設定 > 予約設定 を開く
2.営業時間(例:09:00〜18:00)、スロット(例:30分)
3.通知先メール(予約通知を受け取る管理者のアドレス)を入力
4.[変更を保存]

3 . reCAPTCHA v3(推奨:スパム対策)

3-1 . Google reCAPTCHA のサイトキー&シークレットを取得

・Google reCAPTCHA の管理画面で v3 を選んでサイトを登録
・ドメインに自サイトのドメインを追加してSite Key / Secret を発行

3-2 . WordPress 側の設定

1.設定 > 予約設定 > reCAPTCHA v3
2.Site Key / Secret を貼り付け
3.Threshold(ボット判定の基準スコア)を設定(0.5 がおすすめ。0.4〜0.6で調整)
4.保存

送信時にトークン検証し、スコアが閾値未満なら送信をブロックします。
さらにプラグイン側でハニーポット&タイムトラップ(3秒未満は弾く)も併用しています。
※予約メールの確認の際はreCAPTCHAのキーを空にして確認ください。

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

4 . 固定ページを作ってショートコードを置く

ポイント:ブロックは必ず「ショートコード」ブロックを使います。段落ブロックに貼ると反映されません。

4-1 . スタッフ一覧 /staff/

本文に以下を貼ります

[goom_staff_selector menu_page=”/menu/” show_unassigned=”0″]

・menu_page …… スタッフを選んだ後に飛ぶ メニュー一覧ページ のURL
・show_unassigned=”0″ …… 指名なしを表示しない(1で表示)

4-2 . メニュー一覧 /menu/

[goom_service_list calendar_page=”/calendar/”]

・calendar_page …… 次に進む カレンダーのURL

4-3 . カレンダー /calendar/

[goom_schedule booking_page=”/booking/” days=”7″]

・booking_page …… 予約フォームのURL
・days=”7″ …… 7日間表示(5にすると平日5日表示)

メニューやスタッフをURLパラメータで受け取ります(例:/calendar/?service=123&staff=456)。
スタッフタブで切り替え、◯を押すと日時が自動で予約フォームにプリセットされます。

4-4 . 予約フォーム /booking/

[goom_booking]

・ここで名前・メール等を入力して送信 → 仮予約 → 確認メールのリンクをクリックで本予約

5 . コンテンツの登録

5-1 . スタッフの登録

1.管理画面左メニュー [スタッフ]> 新規追加
2.タイトルにスタッフ名
3.本文にプロフィール(得意分野、経歴など)
4.右の アイキャッチ画像 に写真(正方形〜4:3推奨)
5.公開
6.並び順は 「投稿の属性 > 順序」(小さいほど先に表示)で調整できます

編集画面は必要な項目だけ残して簡素化しています:タイトル=名前/アイキャッチ=写真/本文=プロフィール

5-2 . メニュー(サービス)の登録

1.[メニュー]> 新規追加
2.タイトルにメニュー名
3.本文に説明文(どんな施術・注意事項など)
4.公開
5.価格・所要時間の設定(必要な場合のみ)
・投稿画面の「カスタムフィールド」メタボックスで以下を追加
・glsb_price …… 価格(数値、例:3400)
・glsb_duration …… 所要時間(分、例:60)
・未設定の場合は 価格 0円/所要時間 60分 で表示されます
6.並び順は 「投稿の属性 > 順序」 で調整

※ 現行バージョンでは「このメニューは◯◯さんのみ対応」などのスタッフ制限は未使用です(全スタッフ対応)。必要なら拡張できます。

5-3 . スタッフの休み設定(個別設定)

対応バージョン:v1.1.0 以降(休み機能を追加した改訂版)

各スタッフごとに「毎週の休み」「特定日の休み」「特定日の時間ブロック(○時〜○時は受け付けない)」を設定できます。カレンダーの◯/x/– 表示と自動割当の可否に反映されます。

場所:管理画面 → スタッフ → 任意スタッフを編集 → メタボックス「スタッフの休み設定」

1.毎週の休み

・「日/月/火/水/木/金/土」のチェックボックスをONにすると、毎週その曜日は終日×になります。
・例:毎週火曜・水曜を休みにしたい →「火」「水」にチェック。

2.特定日の休み(終日ブロック)

・「日付を選択」→[追加]でタグのように日付が追加されます。
・例:祝日や臨時休業日、研修日などをピンポイントで休みに。

3.特定日の時間ブロック(時間帯だけ不可)

・表の[行を追加]→ 日付・開始(from)・終了(to)を入力します。
・例:2025-10-03 の 13:00–15:30 をブロック → 当該時間帯のみ×、それ以外の時間は◯のまま。


補足

・「指名なし」での予約も、この個別休み設定を考慮した上で、空いているスタッフへ自動割当します。
・店舗全体の定休日(設定 > 予約設定 > 定休日)を優先し、店舗休業日は常に –(不可)になります。
・既存予約が入っている枠は自動的に×。休み設定と合わせて重複を防ぎます。

6 . 管理者メールとユーザーメールの流れ

1.ユーザーがフォーム送信 → 予約は「下書き=未確認」で保存
2.お客様へ「確認リンク付きメール」を自動送信
3.管理者へ「仮予約通知」メールを送信
4.お客様がメールのリンクをクリック → 予約は公開=確認済に昇格
5.管理画面 [予約] の一覧で「確認」列が 未確認 → 確認済 に変わります

メールが届かない場合は、Fromアドレスのドメイン設定(SPF/DKIM)やSMTPプラグインの利用をご検討ください。

6-2 自動返信のメール差出人の設定

テーマの functions.php または専用プラグインに以下を追記すると、WordPress 全体で送信元が変わります

add_filter( ‘wp_mail_from’, function( $email ){
return ‘info@yourdomain.com’; // 任意のメール
});
add_filter( ‘wp_mail_from_name’, function( $name ){
return ‘ご予約受付’; // 任意の送信者名
});

7 . 予約一覧(管理画面)の見方

[予約] メニューを開くと以下の列が追加されています:
・確認:未確認/確認済
・お客様:氏名
・メニュー(所要時間/金額)
・スタッフ
・日付/時間(クリックで並び替え可)
・メール(クリックでメール起動)

緊急で「確認済」にしたい場合は、該当予約をクイック編集で公開に変更してもOK。

予約システムをWordPressプラグイン化 goom Lab シンプル予約 v1.0.1 操作マニュアル

8 . カレンダーと予約フォームの挙動(ユーザー向け説明の例文)

1.メニューを選びます
2.スタッフを選ぶか「指名なし」を選択します(空いているスタッフに自動で割り当てます)
3.カレンダーの◯をタップして日時を決めます
4.お名前とメールを入力して[予約を送信]
5.届いたメールの確認リンクを押すと予約が確定します
 ※ リンクを押すまでは仮予約です

9 . デザイン調整(任意)

外観 > カスタマイズ > 追加CSS に追記すると、プラグインの見た目を上書きできます。

10 . よくある質問・トラブル対処

Q1 . ショートコードが表示されず、そのまま文字列として出てしまう

・ブロックが段落になっていませんか? → 「ショートコード」ブロックに変更
・ショートコードのカッコやクオートが全角になっていませんか?
・キャッシュ系プラグインをお使いの場合はキャッシュ削除後に確認

Q2 . カレンダーの◯を押すと404ページになる

・ショートコードのURLがサイトのサブディレクトリを含んでいない、または余計に含んでいる
例)booking_page=”/homepage/booking/” のように正しいパスを指定
・設定 > パーマリンク を一度保存(内部ルールの再生成)

Q3 . メールが来ない/スパムに入る

・通知先メールが正しいか確認
・ドメインの送信設定(SPF/DKIM)を整える
・SMTPプラグインの利用を検討(送信ログが見られると便利)

Q4 . reCAPTCHAで正しいお客様まで弾かれる

・Threshold を 0.5 → 0.4 に下げて様子を見る
・同時にハニーポット/タイムトラップも効いているため、通常はスパムは十分抑えられます

Q5 . 予約が重なってしまわない?

・カレンダー生成ロジックは、同時間帯に既存予約があるスタッフには◯を出さない設計
・「指名なし」の場合は、対応可能なスタッフの中で空いている人を自動で割り当てます

11 . 公開前チェックリスト(5分でOK)

・/staff/ にスタッフが表示される(PC 4列/スマホ 2列)
・/menu/ にメニューの価格&右側ボタンが表示
・/calendar/ のタブでスタッフ切替ができ、◯を押すと /booking/ に日時が入って表示
・/booking/ で送信 → 仮予約メール到着 → 確認リンクで本予約化
・予約一覧の「確認」列が確認済になる
・スマホでも文字が大きすぎ/小さすぎにならない(拡大しない)

12 . 付録:ショートコード早見表

目的ショートコード主な属性
スタッフ一覧[goom_staff_selector menu_page=”/menu/” show_unassigned=”0″]menu_page=メニューURL, show_unassigned=指名なしの表示(0/1)
メニュー一覧[goom_service_list calendar_page=”/calendar/”]calendar_page=カレンダーURL
カレンダー[goom_schedule booking_page=”/booking/” days=”7″]booking_page=予約URL, days=5 or 7
予約フォーム[goom_booking]ー

13 . 付録:メニューの詳細設定(任意)

カスタムフィールドで下記キーを追加すると表示がリッチになります(未設定でも動作)
・glsb_price …… 価格(数値)
・glsb_duration …… 所要時間(分)

投稿画面右上の「表示オプション」でカスタムフィールドが表示されていなければチェックを入れて表示します。

14 . 保守のヒント

・テーマやプラグイン更新の前にバックアップ
・ステージング環境でテスト → 本番反映
・予約メールはBCCで自分にも届くようにすると安心(通知先をチームの共有アドレスに)

15 . スタッフの休み設定(詳細)

15-1 . 表示上の見え方(カレンダー)

・◯ … 予約可能(店舗営業中かつスタッフが休み・ブロックでないかつ既存予約なし)
・x … 予約不可(既存予約あり/スタッフ休み・時間ブロックに該当)
・– … 予約対象外(店舗の定休日/営業時間外)

15-2 . どこにどう反映される?

・カレンダーの◯/x/–:リアルタイムに反映。
・予約フォーム送信時:不正な空き取りを防ぐため、送信時も再検証します(終日/時間ブロックや重複を弾く)。
・自動割当(指名なし):候補スタッフのうち、休み・時間ブロックにかからず、既存予約がない最初の人を割当。

15-3 . 運用のコツ

・毎週の休み vs 特定日:基本は「毎週の休み」で定常運用、例外は「特定日」「時間ブロック」で上書き。
・複数ブロック:午前と午後で別予定がある場合は行を分けて複数登録。
・繁忙日対策:直前の穴埋め防止のため、特定日の短時間ブロックを活用(例:閉店前の30分は×など)。
・確認ミス防止:休み設定を更新したら、/calendar/ ページで◯/x/–の期待どおりの表示になっているかチェック。
・他ツール連携:予約確定分を Google カレンダーに取り込みたい場合は、/glsb-ics/?staff=スタッフID をカレンダーに登録(読み取り)することで、スタッフごとのICSフィードとして利用できます。

15-4 . よくある質問(休み設定)

・Q . 休日に◯(まる)が出てしまう
・A . 店舗の営業時間(設定 > 予約設定)と店舗の定休日、さらにスタッフ個別の休みの3点を確認。キャッシュ系プラグインを使っている場合はキャッシュ削除も。
・Q . ブロックしたはずの時間に予約が入る
・A . ブロック「日付」「from/to」の入力漏れ・形式ミスがないかを確認(例:to のほうが from より早い等)。送信時にも不正枠は弾く設計ですが、管理画面からの手動登録時はご注意ください。
・Q . 「指名なし」で休みの人に割り当てられる?
・A . いいえ。休みやブロック時間帯は候補除外。空いている他のスタッフに割り当てます。空いている人がいなければエラー表示になります。

予約システムプラグインのダウンロードは下記をご利用ください


人気記事