ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(3)
前回のソースがイマイチだったので若干書き直しました。しかし、これで正しいのかも疑問なんですが、取り敢えずは動きそうなのでこれで進みます。最初に修正した内容を確認しておきます。
最初はクラスファイルから。プロパティを仮の $name とコメント表示用の $comments を追加しました。表示用関数内でHTML内容をコントロール。form の action先は空欄。
wp-contents/plugins/drtehotel/class/initialization.php
<?php
class INIT {
public $name = "";
public $comments = "";
function show_screen() {
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' />";
省略
メインのプラグインファイルでアップデートの場合の処理を加えてみました。
wp-contents/plugins/drtehotel/drtehotel.php
省略
function show_text_option_page() {
//オブション画面に表示する内容
include_once "class/initialization.php";
$io = new INIT();
//アップデートの確認
if ($_POST['action']=='update') {
$io->name = $_POST['name'];
$io->comments = '<div id="message" class="updated"><p>更新しました。</p></div>';
}
//画面表示
$io->show_screen();
}
省略
表示されている文字などはめちゃくちゃだけど、ここまでの流れは理解できたようです。

保存の前にセキュリティ
データベースに保存する以上、セキュリティについて確認しておく必要があります。わかりやすく説明されているページを見つけたので、いつものように参考にさせていただきます。
http://nskw-style.com/2011/wordpress/secure-plugin.html
wp_nonce_field('example'); <--- form の中に書く。
check_admin_referer('example'); <--- DB に保存する直前に書く。
試しにプラグインファイル(drtehotel.php)にcheck_admin_refererを書き込み、formにwp_nonce_fieldを書き込まないで試してみると。

こんな感じの画面が出ました。check_admin_refererが動いていることが確認できます。
データの保存はデータベースに
続いてデータベースへの保存を学びます。「wp_options」テーブルを使って大丈夫?
update_option('fruits', $fruits);
これだけで保存できるようです。
DBについては次回に。
Sponsored Link
関連記事
-
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(9)空室管理画面を考える
前回までで基本的なプラグインの制作方法を簡単に学びました。今回からは空室管理の画面を作ってみます。柔
-
-
ワードプレス用宿泊予約プラグイン開発「空室情報の表示」とか
久しぶりのワードプレスネタ。全然完成しませんわ。今回は最初にブラウザのキャッシュを切る作業をしました
-
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(1)
初心者が、あらためて WordPress のプラグインを一から作る経過報告。たぶん連載記事ですね。途
-
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(11)空室管理画面 B
空室管理画面の2回目。今回は空室状況の入力欄と月が変わった時の処理を加えてみます。今回は一覧表示なの
-
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(6)初期設定画面
ここまでで、ひと通りの仕組みというか流れは理解できたような気がします。まずは初期設定画面から制作して





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