*

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のプラグイン開発を効率的にするフレームワークたち

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

記事を読む

新バーチャル歌姫デビュー CeVIO Creative Studio は期待して良さそう

既にサンプル曲がガンガンアップされています。噂の歌声合成ソフト CeVIO Creative Stu

記事を読む

ワードプレス用宿泊予約プラグイン開発「空室情報読み込み」

前回までに作ったカレンダーに空室状況を表示させます。最初に表示欄を作って確認してからデータベースの読

記事を読む

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

空室情報のデータベース処理を一気に終えました。ごちゃごちゃしてきたので、もっとスッキリ書く方法が無い

記事を読む

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

さっそく空室管理画面を作っていきます。今回は画面設計中心です。部屋タイプの選択と、空き情報を更新する

記事を読む

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

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 ↑