*

ペンション・民宿・プチホテル用 宿泊予約 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


 
 

関連記事

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

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

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(10)空室管理画面 A

さっそく空室管理画面を作っていきます。今回は画面設計中心です。部屋タイプの選択と、空き情報を更新する

記事を読む

ワードプレス用宿泊予約プラグイン開発「空室情報の表示」とか

久しぶりのワードプレスネタ。全然完成しませんわ。今回は最初にブラウザのキャッシュを切る作業をしました

記事を読む

WordPressのプラグインで独自のページを作る方法がわからない

Wordpressのプラグインを開発していて疑問がでてきました。プラグイン独自のページはどうすればい

記事を読む

WordPressのオリジナルプラグインにショートコード機能を持たせる

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る連載で、ショートコード

記事を読む

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

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKにジンバルを入れる

やっぱり高いけどEndurance (エンデュランス) カメラバッグの

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKが北の国から

一年中GWの美少女です。 Lowepro カメラリュック フリッ

MOZA Mini-S スマホ用スタビライザーが届いた!

1万円弱で買えるスマホ用ブラシレスジンバルの新型 MOZA Mini-

GoPro Hero7 Black用 保護ケース アルミ合金保護フレームがいいよって話

別に大した話ではありません。 最近書くことが少ないのでたまには書

期待の新製品 MOZA Mini-S スマホ用スタビライザーが発売されたみたい

教えてもらった新製品のホームページで MOZA Mini-Sが紹介され

→もっと見る




  •  

PAGE TOP ↑