[PHP] 簡単 WordPress プラグイン開発!

2015/06/27Development,Pronama-chan,WordPressPHP,WordPress

慧: こんにちは! WordPress Advent Calendar 2014プロ生ちゃん Advent Calendar 2014 の2日目の記事で、WordPress プラグイン開発の話題だよ。

PHP で WordPress プラグイン開発!

WordPress は PHP で開発されていて、プラグインも PHP で作れるんだよね。

というわけで、まず何もしないプラグインがコレ!


<?php /*
Plugin Name: Do Nothing Plugin
*/ ?>

コメントだけでプラグインとして認識するんだね~。これを wp-content/plugins/ にファイルを配置すると WordPress のプラグインから有効・無効にできるよ。有効にしても何もしないんだけど!

ショートコード プラグイン開発!

WordPress のプラグインで簡単に作れて、結構役立つかもしれないのがオリジナルのショートコード。ショートコードは、WordPress の機能で、本文中に [gallery columns="3″] みたいに書いて、そこに何かしらの結果が出力されるっていうマクロね。

さっそく作ったプラグインのコードがこれだよ。


<?php
/*
Plugin Name: Pronama-chan shortcode
*/
add_shortcode('pronama-chan-icon', 'pronama_chan_icon_func');
function pronama_chan_icon_func($atts) {
return '<img src="http://pronama.azurewebsites.net/icogen/image/thumb01.png" />';
}
?>

  • WordPress の ショートコード API add_shortcode に、ショートコードの名前と呼び出される関数名を指定。
  • 指定した関数名(pronama_chan_icon_func)に、結果を返す HTML を記述。

……という感じ。簡単でしょ? このプラグインを有効にして本文中に [pronama-chan-icon] と書くと、こんな感じで表示されるよ。

結果

ショートコードに値を設定する

簡単だったでしょ? これだけでも、ときどき定型句を入れる時は役立つんじゃないかな? さらに [pronama-chan-icon msg="こんにちは!"] みたいに値を設定できるようにしてみよう!


<?php
/*
Plugin Name: Pronama-chan shortcode
*/
add_shortcode('pronama-chan-icon', 'pronama_chan_icon_func');
function pronama_chan_icon_func($atts) {
extract(shortcode_atts(array(
'msg' => 'おはよう!'
), $atts));
return '<img src="http://pronama.azurewebsites.net/icogen/image/thumb01.png" /> <span>' . $msg . '</span>';
}
?>

難しくないよね? $atts から、msg の値を取り出して、変数 $msg として使えるの。そして、返す HTML 部分に使えば OK! このコードの場合、何もショートコードの記述で msg に指定がないと「おはよう!」になるよ。

結果

こんにちは!

おわり!

というわけで以上だよ。WordPress ユーザーの人は試してみてね。でも、プラグインのエラーが原因で WordPress が動作しなくなっちゃうこともあるから気を付けて!

ショートコードの開発について、詳しくは、ショートコード API – WordPress Codex 日本語版 を調べてみて。今回説明したのは「自己完結型ショートコード」というタイプ。「囲み型ショートコード」というタイプも簡単に作れるよ。

プロ生ちゃん Advent Calendar 2014 は、まだ募集中だから参加してね!

The following two tabs change content below.
都内の公立高校に通う高校生。部活は、情報処理研究会。身体を動かすのも好きで、気が向いたときはなぜか体育会系の部活に混ぜてもらっていろんなスポーツをすることも。プログラミング生放送のキャラクターとして活動中!