WordPressのオリジナルプラグインにショートコード機能を持たせる
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る連載で、ショートコードを使って固定ページに空室カレンダーや予約申込み画面を作る。最初に作り方を調査してみました。
function.phpを設置してショートコードを書いていく方法はたくさん解説されていますが、プラグインでというのは….探せばありますね。
参考にさせてもらったサイト
私の下手な説明より以下のホームページを参考にお勉強してみてください。
WordPressのショートコードはプラグインにした方が良いケースがあるから作った。ので作り方書くよ
http://stackstock.net/archives/1708/
ショートコードに引数を渡すケースで参考になったサイト。
WordPressのショートコードを自作してみる
http://www.webopixel.net/wordpress/53.html
WordPressプラグイン作成奮闘日記 ~5回目 ショートコード編~!
http://ameblo.jp/opsalog/entry-10439662824.html
WordPressショートコードの書き方いろいろ
http://www.awawaweb.com/201202/wordpress-shortcode.html
PHPマニュアル extract
http://php.net/manual/ja/function.extract.php
実際に試して確認してみる
意外と単純なようで、プラグインファイルに add_shortcode 関数を書いて、function test() { の実行関数を書けば動くみたいです。試してみましょう。
今まではプラグインファイルがクラスだけ書かれていたので、そのファイルの一番下に以下のコードを書き足してみます。
wp-contents/plugins/drtehotel/drtehotel.php
<?php
/*
Plugin Name: DrTE Hotel
Plugin URI: http://www.******
Description: 小さな宿用の予約空室管理
Author: JojiW
Version: 0.1
Author URI: http://www.******
*/
class DrTEHotel {
public $table_name;
略
}
$dhotel = new DrteHotel;
// 以下が今回追加部分
add_shortcode("myTest", "dispTest");
function dispTest() {
return "こんにちwa !!";
}
新しく固定ページを作って [myTest] と記載して表示してみます。


問題なく表示されました。簡単ですね。
POSTで値を受け取る
ショートコードの関数内で値を受け取る方法を探しました。…見つかりませんでした。仕方ないので自力で実験して見つけた方法を書いてみます。セキュリティがとっても心配。
まずは固定ページを以下のように記載します。
[myTest] <form id="form1" name="form1" method="post" action=""> <input name="mydata" type="text" value="" /> <input type="submit" name="button" id="button" value="送信" />
プラグインファイルを書換えます。
wp-contents/plugins/drtehotel/drtehotel.php
add_shortcode("myTest", "dispTest");
function dispTest() {
echo $_POST['mydata'] . " こんにちwa !!";
}
なんてことなく、POSTのデーターを受け渡すことができることを確認してしまいました。

GET の場合はパラメータを仕込んで表示する必要があるようです。PHP_SELFは使えないようなので、直接URLを指定して?以降でデータを仕込めば読み込めます。
echo '<a href="/プラグインテスト?mydata=' . 'あいうえお' . '">TEST2</a><br />';
今回はここまで!
Sponsored Link
関連記事
-
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(9)空室管理画面を考える
前回までで基本的なプラグインの制作方法を簡単に学びました。今回からは空室管理の画面を作ってみます。柔
-
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(5)メニュー階層化
今回はオリジナルプラグインの管理画面でのメニュー作成について。かなりすんなりと出来てしまったので短め
-
-
ワードプレス用宿泊予約プラグイン開発「空室情報の表示」とか
久しぶりのワードプレスネタ。全然完成しませんわ。今回は最初にブラウザのキャッシュを切る作業をしました
-
-
新バーチャル歌姫デビュー CeVIO Creative Studio は期待して良さそう
既にサンプル曲がガンガンアップされています。噂の歌声合成ソフト CeVIO Creative Stu
-
-
ワードプレス用宿泊予約プラグイン開発「空室情報読み込み」
前回までに作ったカレンダーに空室状況を表示させます。最初に表示欄を作って確認してからデータベースの読





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