Web制作

wordpress宿泊予約システム HBookカスタマイズ【後編】

  • このエントリーをはてなブックマークに追加

この記事はゴーマの休日からの出展です。

ホテルの自社サイト予約システム
wordpressプラグイン実装から完成まで!

くまさん
くまさん

今回は前回の記事に引き続き、wordpressの予約プラグイン「HBook」の実装とカスタマイズについてお送りします!

前回、数々の苦難を乗り越えて動作を成功させたHBook。普通に実装したつもりが普通じゃないことが起こるのが世の常です・・・。

https://gomanote.com/gomanholiday/2018/02/23/hbook01/

この後も色々とカスタマイズで苦労しましたので、忘備録として経過をアップしていきます!

「Hbook」のカスタマイズを公開しているサイトを参照

身もふたもないですが、HBookのカスタマイズは非常に詳しく解説されているサイトがあります。

インストール、日本語化など、基本的なカスタマイズはそちらを参照していただければ問題なく行えるでしょう。

WORDPRESSの宿泊予約システム Hbook カスタマイズ1 【日本語化】

HBook日本語マニュアル

上記サイトを中心に見れば、一般の開発者であればサイトへの実装は難しくないと思います。

以下は、上記サイトで解説されていないポイントについて挙げていきます。

クレジットカード決済

クレジットカード決済を実装

予約システムとしては、クレジットカード決済が使用できなければ話になりません。

その点、HBookはStripeのクレジットカード決済に対応している点が素晴らしいポイントです。

https://stripe.com/jp

審査も簡単で手数料も他のサービスに比べても遜色なく、何と言っても実装しやすい。

まずはアカウントを作ってすぐにテストモードのキーを発行し、HBookに入れてテストしてみてください。

HBook→お支払い→ストライプの設定で二つのキーを入力するだけです。

HBookのすごいところは、Stripeの管理画面を通さず、全てWordpressの管理画面から決済、キャンセル処理、ノーショーでのチャージなどを全て行える点。まるで予約システムを開発したかのような完成度です。

多言語化

多言語対応もプラグインの連携のみで

インバウンドが隆盛する現在、宿泊予約サイトを作るなら多言語化は必須です。

在庫を言語間で共有しつつWordpressで運用するのであれば、多言語プラグイン「Polylang」がベストの選択です。

Polylang

HBookとの相性も良く、無料プランで全く問題なく多言語化が可能です。

ただ1点、Polylangをインストールするとエラーが発生するポイントがあるのでそこを解消する必要があります。

公式サポートページ該当箇所

https://hotelwp.com/knowledgebase/?article=25

公式サポートページで説明されていました。Chromeで翻訳すれば意味がわかると思います。

これが該当箇所です。

これが該当箇所です。

自分はここでどハマりしました・・・

この他にも、公式サポートサイトは英語が全く分からなくても(自分もそうですが)Google翻訳すれば意味は理解できると思います。

予約可能日設定を月単位から日単位へ

コードのカスタマイズが必要

HBookはディフォルトで、予約可能日設定が「月」単位でしかできません。

日本の予約サイトで良くある「今日から」3ヶ月などに設定しようとしてもできません。

たとえば、今日から起算しての3ヶ月後である90日後に設定したい場合は以下のコードの書き換えが必要です。

plugins→hbook→utils→utils.phpの778、779行目

$tmp_date->modify( "+{$nb_months} month" );
$max_date = $tmp_date->format( 'Y-m-t' );

を、

$tmp_date->modify( "+{$nb_months} day" );
$max_date = $tmp_date->format( 'Y-m-d' );

に変更。

ついでに管理画面側の表記を変更するために、同ディレクトリ内の「options-utils.php」内の433行目、

'caption' => wp_kses( __( 'Enter the maximum number of <u>months</u> ahead...', 'hbook-admin' ), array( 'u' => array() ) ),

を、

'caption' => wp_kses( __( 'Enter the maximum number of <u>days</u> ahead...', 'hbook-admin' ), array( 'u' => array() ) ),

に変更します。

これで、予約可能日設定を日で管理できるようになります。

まとめ

以上、速足でしたが僕が独自にカスタマイズした部分をまとめてみました。

コードが読める一般的な開発者ならこれでHBookを多言語&クレジット決済で使用することができると思います。

日本語で解説されている記事が少ないので、wordpressで予約システムを実装する人の手助けになれば幸いです。ぜひともチャレンジしてみてください!

前回の記事

https://gomanote.com/gomanholiday/2018/02/23/hbook01/

  • このエントリーをはてなブックマークに追加