*

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(6)初期設定画面

公開日: : 最終更新日:2013/06/24 WordPress ,

ここまでで、ひと通りの仕組みというか流れは理解できたような気がします。まずは初期設定画面から制作していくことにします。

初期設定画面で管理する項目をリストアップ

空室情報は「○」「▲」「×」で表示させます。具体的な部屋数などは表示しません。ビジネスホテルや大きなホテルの場合は、部屋数を明示して予約受付=予約完了という方法が可能になります。

しかし小さな宿の場合、運用が不自由になってしまいます。小さな宿の場合は、予約状況や人数などにより柔軟に変更させる必要があるようです。また、空き状況が外部にわかってしまうのもアレなので。

(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でテーブルからデータを読み込みプロパティ変数にセット。画面表示という流れになる。

スクリーンショット 2013-06-17 1.51.22

テーブルの幅が狭いのは後ほど調査します。


Sponsored Link


 
 

関連記事

WordPress用プラグインで使う宿泊予約用カレンダーをPHPで書くぜ

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作るシリーズで使う、空き部

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(8)セキュリティ対策

前回紹介したホームページを参考にソースを書き換えてみました。特に標準の option テーブルにレコ

記事を読む

ワードプレス用宿泊予約プラグイン開発「空室カレンダー表示」

前回ネットで検索して見つけた calendar($year = "", $month = "") 関

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(3)

前回のソースがイマイチだったので若干書き直しました。しかし、これで正しいのかも疑問なんですが、取り敢

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(7)セキュリティ対策

ここでセキュリティ対策についてまとめて復習してみます。ネットを検索すると、さまざまな対策が紹介されて

記事を読む

ご質問は掲示板へお願いいたします。

Message

メールアドレスが公開されることはありません。

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

DJI Osmo Mobile 2 を少し使ってみた感想など

BlackMagicDesign URSA mini 4.

DJI Osmo Mobile 2 の少しディープなレビュー

DJI Osmo Mobile 2 を選んだのは「アクティブトラック」

スマホ用ジンバル比較=DJI OSMO mobile2 vs ZHIYUN Smooth 4 vs MOZA mini-mi

さて! 聞いて気になる見て欲しくなる。うれし恥ずかしスマホ用ジンバルの

【実験】Neewer 37mmクリップオンND 2-400 NDフィルタークリップ付きの性能を確認

前回の記事「FiLMiC pro 〜 iPhoneで動画撮影本気モード

FiLMiC pro 〜 iPhoneで動画撮影本気モード

俄然! iPhoneの有効活用が気になり始めました。 前回プレビ

→もっと見る




  •  

PAGE TOP ↑