*

ペンション・民宿・プチホテル用 宿泊予約 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のプラグイン開発を効率的にするフレームワークたち

Wordpressでプラグインを作っていて「フレームワーク使えないのかな?」と疑問を持ちました。そこ

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

前回までで基本的なプラグインの制作方法を簡単に学びました。今回からは空室管理の画面を作ってみます。柔

記事を読む

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

Message

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

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

GoPro HERO7 Black 〜 インフルの熱で異常行動か?

何故か記憶に無いのですが GoPro HERO7 Blackが届きまし

軽量レバーロック式三脚を物色する美少女

旅行用三脚として活躍しているのは GITZO GT1542T と KT

激安中華な Bluetooth 5.0 イヤホンを買ってみたけど便利ね

前から気になっていた Bluetooth 5.0 イヤホン。 耳

2018年に購入したもので最も良かったものはミニスライダー

あけまして おめでとうございます 2019年 第一発目にご紹介す

Final Cut Pro X 用の無料 Calloutsプラグイン13種&12種がいい感じ

すっかり Final Cut ネタが続きますが皆様いかがお過ごしでしょ

→もっと見る




  •  

PAGE TOP ↑