*

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 プラグインを作る(5)メニュー階層化

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

記事を読む

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

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

記事を読む

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

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

記事を読む

WordPress用プラグインで使う宿泊予約用カレンダーをPHPで書くぜ

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作るシリーズで使う、空き部

記事を読む

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

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

記事を読む

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

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 ↑