*

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

公開日: : WordPress ,

さっそく空室管理画面を作っていきます。今回は画面設計中心です。部屋タイプの選択と、空き情報を更新する月を指定する部分あたりです。長くなりそうなので2回か3回に分ける予定です。

wp-contents/plugins/drtehotel/drtehotel.php

function show_text_option_page() {
	//空室管理画面に表示する内容
	include_once "class/rooms.php";
	$rm = new ROOM();

「空室管理」メニューをクリックした歳に実行される部分を修正します。あたらしい ROOM クラスを用意ししようするように書換えました。

ROOMクラス用の新しいクラスファイルを用意します。
wp-contents/plugins/drtehotel/class/rooms.php

<?php
class ROOM {
  public $comments = "";
  public $name = "";
  function show_screen() {
	echo '<div class="wrap">';
	echo '<div id="icon-options-general" class="icon32">
              <br /></div><h2>空室管理</h2>';
	echo '<form action="" method="post">';

まずは画面出力を組み立てていきます。プロパティなどは後ほど追加していきます。

スクリーンショット 2013-06-25 22.57.45

まずは部屋タイプを初期設定から取得しセレクトボックスへセットする関数を組み立てます。関数名は部屋タイプが「set_rtypr()」で日付が「set_rdate()」とします。日付は今月と来月と再来月の3ヶ月分です。

wp-contents/plugins/drtehotel/class/rooms.php

echo "部屋タイプ:";
echo '<select name="rtypt">';
echo $this->set_rtype();
echo '</select>';
echo " 日付:";
echo '<select name="rdate">';
echo $this->set_rdate();
echo '</select>';

function set_rtype() {
	$op_data = get_option( 'DrTE_option' );
	$rooms = $op_data['DrTE_rooms'];
	$type[0] = $op_data['DrTE_type1'];
	$type[1] = $op_data['DrTE_type2'];
	$type[2] = $op_data['DrTE_type3'];
	$tmp = "";
	for ($i=0; $i<$rooms; $i++) {
		if ($this->rtype==$type[$i])
			$tmp .= '<option value="' . $type[$i] . '"
                        selected="selected">' . $type[$i] . '</option>';
		else
			$tmp .= '<option value="' . $type[$i] . '">'
                        . $type[$i] . '</option>';
	}
	return $tmp;
}

function set_rdate() {
	$month0 = date("Y年m月");
	$month1 = date("Y年m月", strtotime(date("Y-m-1")."+1 month"));
	$month2 = date("Y年m月", strtotime(date("Y-m-1")."+2 month"));
	$tmp = "";
	if ($this->rdate==$month0)
		$tmp .= '<option value="' . $month0 .
                '" selected="selected">' . $month0 . '</option>';
	else
		$tmp .= '<option value="' . $month0 . '">'
                . $month0 . '</option>';
省略

get_option で option テーブルから設定を読み込んで配列を分解します。初期瀬底画面では3種類の部屋タイプまでしか対応していない設計ですが、今後も考えて for でループさせてみました。

$this->rtype で設定されているSELECT値を調べて選択するOPTION値を指定します。

wp-contents/plugins/drtehotel/drtehotel.php

if ($_POST['action']=='change') {
	$rm->rtype = $_POST['rtype'];
	$rm->rdate = $_POST['rdate'];

drtehotel.php の function show_text_option_page() 内に上記の内容を加えます。選択されているセレクトボックスの値を取得してROOMクラスのプロパティにセットしています。

スクリーンショット 2013-06-26 0.05.13

続く


Sponsored Link


 
 

関連記事

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

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

記事を読む

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

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

記事を読む

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

初心者が、あらためて WordPress のプラグインを一から作る経過報告。たぶん連載記事ですね。途

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(5)メニュー階層化

今回はオリジナルプラグインの管理画面でのメニュー作成について。かなりすんなりと出来てしまったので短め

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(4)データベース基礎

今回は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 ↑