ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(6)初期設定画面
ここまでで、ひと通りの仕組みというか流れは理解できたような気がします。まずは初期設定画面から制作していくことにします。
初期設定画面で管理する項目をリストアップ
空室情報は「○」「▲」「×」で表示させます。具体的な部屋数などは表示しません。ビジネスホテルや大きなホテルの場合は、部屋数を明示して予約受付=予約完了という方法が可能になります。
しかし小さな宿の場合、運用が不自由になってしまいます。小さな宿の場合は、予約状況や人数などにより柔軟に変更させる必要があるようです。また、空き状況が外部にわかってしまうのもアレなので。
(1)管理者メールアドレス(PC)
(2)管理者予備メールアドレス(携帯)
(3)設置ドメイン
(4)空室数判定基準値
(5)空室表示マーク
(6)弱空室表示マーク
(7)満室表示マーク
(8)空室標準値
(9)部屋タイプ数
(10)部屋タイプ1
(11)部屋タイプ2
(12)部屋タイプ3
(1)と(2)は予約が入った場合にメールが送信されるアドレスです。メインのPCと予備で携帯メールを想定しています。(3)は一応用意しておきます。Wordpressの標準DBにドメインがあるので、本当は必要ないのかもしれません。
(4)管理者側での空き情報は部屋数を入力する形です。予約が入ると部屋数をカウントダウンさせます。残りの部屋数がこの数値以下の場合は空き状況が「○」から「▲」表示に変わります。当然部屋数がゼロになれば「×」です。
(5)〜(7)は○×▲の表示を変更する場合に設定する項目です。例 ◎○×
(8)は新しい日付が追加される場合に、標準で入力される部屋数です。
(9)和室・洋室とか二人部屋・四人部屋など提供する部屋タイプの数を指定します。とりあえず3種類まで対応するシステムとしておきます。(10)以下は部屋タイプの名称を指定します。
HTMLを用意する
主に参考にしたページ 管理メニューの追加
まずは画面設計。先のHTMLを改造していくことにする。クラスファイルに変数を追加し show_init 関数を以下のように改造してみる。
wp-contents/plugins/drtehotel/class/initialization.php
public $mail = ""; public $mail2 = ""; public $url; ー略ー function show_init() { echo '<div class="wrap">'; echo '<div id="icon-options-general" class="icon32"><br /></div><h2>初期設定</h2>'; echo '<form action="" method="post">'; echo "<input type='hidden' name='option_page' value='media' />"; echo '<input type="hidden" name="action" value="update" />'; echo wp_nonce_field('example'); echo $this->comments; echo "<h3>システム基本設定</h3>"; echo "<p>設定に間違いが在ると正常に稼働しません。ご注意ください。</p>"; echo '<p>'; echo '<table class="form-table">'; echo '<tr valign="top">'; echo '<th scope="row">管理者・予約受付メールアドレス(PC用)</th> '; echo '<td>'; echo '<input type="text" name="DrTE_mail" value="' . $this->mail . '">'; echo '</td>'; 以下略
続いて変数を読み込む関数と保存する関数を加える。update_option関数はoptionテーブルを更新(レコードがない場合は新規追加)してくれる便利な関数。そしてそのデータを get_option で読み込むことが可能となる(らしい)。
function update_options() { $this->mail = $_POST['DrTE_mail']; update_option( 'DrTE_mail', $this->mail ); 略 function load_options() { $this->mail = get_option('DrTE_mail'); 略
プラグインファイルも修正。
wp-contents/plugins/drtehotel/drtehotel.php
function show_init_page() { // 初期設定画面出力 $io = new INIT(); //アップデートの確認 if ($_POST['action']=='update') { check_admin_referer('example'); $io->update_options(); $io->comments = '<div id="message" class="updated"> <p>更新しました。</p></div>'; } $io->load_options(); $io->show_init(); }
前回同様 if で更新かどうか判定。更新の場合はセキュリティチェック(check_admin_referer)をして update_options関数(更新)を実行。更新完了メッセージを出力。load_optionsでテーブルからデータを読み込みプロパティ変数にセット。画面表示という流れになる。
テーブルの幅が狭いのは後ほど調査します。
Sponsored Link
関連記事
-
新バーチャル歌姫デビュー CeVIO Creative Studio は期待して良さそう
既にサンプル曲がガンガンアップされています。噂の歌声合成ソフト CeVIO Creative Stu
-
ワードプレス用宿泊予約プラグイン開発「空室カレンダー表示」
前回ネットで検索して見つけた calendar($year = "", $month = "") 関
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(4)データベース基礎
今回はWordPressのプラグイン開発で必要になるデータベースに関する知識ついて調べました。この辺
-
WordPressのプラグイン開発を効率的にするフレームワークたち
Wordpressでプラグインを作っていて「フレームワーク使えないのかな?」と疑問を持ちました。そこ
-
WordPress用プラグインで使う宿泊予約用カレンダーをPHPで書くぜ
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作るシリーズで使う、空き部
ご質問は掲示板へお願いいたします。