[PHP] 簡単 WordPress プラグイン開発!
慧: こんにちは! WordPress Advent Calendar 2014 兼 プロ生ちゃん Advent Calendar 2014 の2日目の記事で、WordPress プラグイン開発の話題だよ。
PHP で WordPress プラグイン開発!
WordPress は PHP で開発されていて、プラグインも PHP で作れるんだよね。
というわけで、まず何もしないプラグインがコレ!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php /* | |
Plugin Name: Do Nothing Plugin | |
*/ ?> |
コメントだけでプラグインとして認識するんだね~。これを wp-content/plugins/ にファイルを配置すると WordPress のプラグインから有効・無効にできるよ。有効にしても何もしないんだけど!
ショートコード プラグイン開発!
WordPress のプラグインで簡単に作れて、結構役立つかもしれないのがオリジナルのショートコード。ショートコードは、WordPress の機能で、本文中に [
gallery columns="3″]
みたいに書いて、そこに何かしらの結果が出力されるっていうマクロね。
さっそく作ったプラグインのコードがこれだよ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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="こんにちは!"]
みたいに値を設定できるようにしてみよう!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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 は、まだ募集中だから参加してね!
最新記事 by kei (全て見る)
- HSP プログラムコンテスト2024 結果発表&プロ生ちゃん賞発表! #hsp3 - 2024/12/13
- プロ生ちゃんチョコプログラミングコンテスト2024開催! - 2024/02/13
- HSP プログラムコンテスト2023 結果発表&プロ生ちゃん賞発表! #hsp3 - 2023/12/04