WordPressのプラグインWP Booking Systemを使うと、1日単位の予約と通常のホテル宿泊のような日をまたぐ宿泊を切り替えることができます。
ここではその方法についてまとめています。
1日単位で予約する方法
WP Booking Systemはデフォルトでは複数日の予約のみになっています。このため、カレンダーで開始日と終了日のぶんだけ2度クリックしなければいけません。
カレンダーの設定
カレンダーでクリックできるのを1日にするにはショートコードを使用します。WP Booking Systemのショートコードはとても簡単で、[wpbs]
の中にオプションと値を設定するだけです。
[wpbs id="1" form_id="1" selection_type="single" highlighttoday="yes" history="3" ]
カレンダーid
まず、絶対に必要なのが「id」です。これで、どのカレンダーを埋め込むか指定する必要があります。
WP Booking Systemの「Calendars」をクリックするとIDの欄にカレンダーIDが表示されています。これで、表示したいカレンダーのidを指定します。
selection_type
次に設定するのが「selection_type」です。selection_typeは設定しない場合、デフォルト値が「multiple」になっています。これが、開始日と終了日をクリックすることを意味しています。
この値を「single」にすることで、1日単位の予約になります。
selection_type="single"
この2つのオプションを設定したショートコードを埋め込めば、カレンダーは1日単位になります。
まとめると以下のコードになります。
[wpbs id="1" selection_type="single"]
予約フォームを埋め込みたい場合は以下を加えます。
form_id="埋め込みたいフォームのid"
過去の日付をグレーアウトしたい場合は以下を追記します。
history="3"
予約フォームの設定
もし予約可能な日数の最少日と最大日が指定されている場合、カレンダー上は1日しか選択できないので、「Please select a minimum of 〇 days.」といったエラーが表示されることになります。
これを回避するためには、対象のフォームの「Booking Restrictions」というタブで、「Stay length」を以下のように設定する必要があります。
ショートコード一覧(デフォルト値)
WP Booking Calendarsで使用できるショートコードは以下になります。
パラメータ | 値 | デフォルト | 説明 |
---|---|---|---|
id | カレンダーのID | なし | これにより、埋め込むカレンダーをショートコードに知らせることができます。カレンダー ID は、「WP Booking System」→「カレンダー」で確認できます。 |
form_id | フォームのID | 0 | これにより、カレンダーにどのフォームを添付するかをショートコードに知らせます。フォーム ID は、「WP Booking System」→「Forms」で確認できます。カレンダーはフォームなしで埋め込むこともできます。その場合、顧客は予約できず、カレンダーには空き状況が表示されるだけです。 |
title | yes/no | yes | カレンダーのタイトルをカレンダーの上の見出しとして表示します |
legend | yes/no | yes | カレンダーの凡例項目を表示します |
legend_position | side/top/bottom | side | カレンダーの凡例の位置。カレンダーの横、カレンダーの上、またはカレンダーの下に配置できます。 |
display | any positive integer | 1 | 表示する暦月数 |
year | 0 または1970-2100 | 0 | カレンダーの開始年。0 (ゼロ) は、現在の年が表示されることを意味します。 |
month | 0-12 | 0 | カレンダーの開始月。0 (ゼロ) は、現在の月が表示されることを意味します。 |
show_first_available_date | yes/no | no | 最初の予約可能日のある月にジャンプします。 |
language | auto または2 letter language code | auto | カレンダーとフォームを表示する言語。プラグインを使用すると、auto Web サイトの言語が自動的に検出されます。 |
start | 1-7 | 1 | 週の始まりの日。1 ~ 7 = 月曜日から日曜日 |
dropdown | yes/no | yes | 最初のカレンダーに月ナビゲーション ドロップダウンを表示します |
jump | yes/no | no | 矢印ナビゲーションで、一度に 1 つだけではなく、表示されているすべての月を変更します。パラメータと組み合わせて使用しますdisplay 。 |
history | 1,2,3 | 1 | カレンダー内の過去の日付を処理します。1 – すべての予約履歴を表示2 – 履歴をデフォルトの凡例項目に置き換えます3 – 過去の日付をグレー表示する |
tooltip | 1,2,3 | 1 | カレンダーのツールチップを処理します1 – ツールチップを無効にする2 – ツールチップを有効にする3 – ツールチップを有効にし、ツールチップを含む日付を赤色のインジケーターで表示します。 |
highlighttoday | yes/no | no | カレンダーで今日の日付を強調表示します |
weeknumbers | yes/no | no | カレンダーに週番号を表示する |
show_prices | yes/no | no | 毎日の日次価格を表示します。価格設定が有効な場合にのみ機能します。 |
form_position | side/bottom | bottom | 予約フォームの位置 |
auto_pending | yes/no | yes | 予約後に予約日がどうなるかを処理します。に設定するとyes 、二重予約を防ぐために日付が利用不可としてマークされます。在庫アドオンがインストールされている場合、在庫が 0 になった場合にのみ日付が使用不可としてマークされます。 |
selection_type | single/multiple | multiple | カレンダー内の日付の選択を処理します。このmultiple オプションは、顧客に開始日と終了日をクリックするよう要求することにより、日付範囲を選択するために使用されます。このsingle オプションでは、ワンクリックで 1 日を選択します。 |
selection_style | normal/split | split | 日付選択スタイルを処理します。このnormal パラメータは全日を選択し、split パラメータは選択の開始日と終了日を半日または切り替え日としてマークします。価格設定を使用する場合は、normal 日数とsplit 夜間をカウントします。 |
minimum_days | any positive integer | 0 | 予約が必要な最低日数の制限を設定します。Booking Restrictions アドオンがインストールされている場合、このパラメーターは無視されます。 |
maximum_days | any positive integer | 0 | 予約が必要な最大日数の制限を設定します。Booking Restrictions アドオンがインストールされている場合、このパラメーターは無視されます。 |
booking_start_day | 1-7 | 0 | 予約を開始できる曜日の制限を設定します。0 = 無効、1 ~ 7 = 月曜日から日曜日。Booking Restrictions アドオンがインストールされている場合、このパラメーターは無視されます。 |
booking_end_day | 1-7 | 0 | 予約を終了できる曜日の制限を設定します。0 = 無効、1 ~ 7 = 月曜日から日曜日。Booking Restrictions アドオンがインストールされている場合、このパラメーターは無視されます。 |
show_date_selection | yes/no | no | 予約フォームの先頭にあるカレンダーで選択した日付の開始日と終了日を表示します。 |
(参考)WP Booking System Shortcode
たくさん埋め込んだショートコードの例は以下になります。
[wpbs id="1" title="yes" legend="yes" legend_position="side" display="1" year="0" month="0" show_first_available_date="no" language="auto" start="1" dropdown="yes" jump="no" history="1" tooltip="1" highlighttoday="no" weeknumbers="no" show_prices="no" form_id="1" form_position="bottom" auto_pending="yes" selection_type="multiple" selection_style="normal" minimum_days="0" maximum_days="0" booking_start_day="0" booking_end_day="0" show_date_selection="no"]
ショートコードを使用しない方法
なお、有料版のWP Booking Calendarをインストールした場合は、ブロックのエディタでこれらのオプションの設定をすることができます。
その場合は、ショートコードのブロックを追加するのではなく、WP Booking Systemのブロックを選択します。
1日単位の予約にしたい場合は、Form OptionsのSelction typeを「Single Day」にします。
予約可能期間を設定する方法
予約可能期間を設定する場合、指定した日数でローリングしていく方法と、予約を受け付けない日付(開始日と終了日)を指定する方法があります。
指定した日数でローリングする場合
指定した日数で予約可能期間をローリングさせたい場合は、「Forms」から対象のフォームを選択し、「Booking Restricions」タブの「Advance reservation」の「maximum dats」にその期間を入力します。
1か月であれば「30」、1年であれば「365」と入力します。
こうすることで、予約時に今日時点より365日を超えた日付を選択すると以下のようなエラーメッセージを表示します。
予約を受け付けない日付を指定する場合
予約を受け付けない日付の開始日と終了日の日付を指定する場合は「Forms」から対象のフォームを選択し、「Booking Restricions」タブの「Fixed Date Intervals」を選択します。
「Enable Fixed Date Intervals」のトグルをONにして、「Start date」と「End date」を入力し、「Save Form」をクリックします。
複数の期間を指定したい場合は「Add Fixed Date Interval」をクリックし、期間を入力します。
これにより、入力した期間の日付をカレンダー上でクリックするとエラーメッセージを表示するようになります。