*

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

公開日: : 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] と記載して表示してみます。

スクリーンショット 2013-07-13 21.18.07

スクリーンショット 2013-07-13 21.18.37

問題なく表示されました。簡単ですね。

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のデーターを受け渡すことができることを確認してしまいました。

スクリーンショット 2013-07-13 21.38.37

GET の場合はパラメータを仕込んで表示する必要があるようです。PHP_SELFは使えないようなので、直接URLを指定して?以降でデータを仕込めば読み込めます。

echo '<a href="/プラグインテスト?mydata=' . 'あいうえお' . '">TEST2</a><br />';

今回はここまで!


Sponsored Link


 
 

関連記事

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

空室管理画面の2回目。今回は空室状況の入力欄と月が変わった時の処理を加えてみます。今回は一覧表示なの

記事を読む

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

Message

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

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

気になる情報・新製品発見メモ

日頃ネットをウロウロしていて記事にするほどでもない情報、記事にするほど

【開封】SmallRig Drop-In Baseplate (Manfrotto 501PL QR Plate Compatible) 2006

引き続き SmallRig Universal Shoulder Pa

【開封】SmallRig Universal Shoulder Pad 2057

最初にお断りしておきますが、いわゆる「単なる開封」記事です。予めご了承

【雑談】URSA mini の設定確認とか安物時計を貰った話

寒くなってきましたがスッキリ晴れ渡る日曜日。久しぶりに予定もなくノビノ

URSA mini & Filmconvert アップデート祭り

いつものように雑談更新。今更お断りすることも無いとは思いますが、今回も

SONY α6300 24p 30p 60p 120pで画質比較

世間では黒金とか言うケシカラン状況になっています。 浮かれポンチ

→もっと見る




  •  

PAGE TOP ↑