まず、仕組みから簡単に説明すると、wordpress(wordpress mu も含む) は所々でフックを設定できるようになっています。例えば、エントリをした直後とか、ページに header タグを出力する直前など、たくさんのところでフックを設定することができます。プラグインは、このフックに登録して何らかの処理を実行するように開発していきます。
フックできる箇所の一覧は、Plugin API/Action Reference やWordpress Hooksにまとまっています。 また、データベースに接続するときにもフックすることができます。一覧は、Wordpress hools database にあります。日本語の解説もありますね。
プラグインは、必ず PHP で次のようなヘッダコメントを入れなければならない。
<?php/* Plugin Name: Name Of The Plugin Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates Description: A brief description of the plugin. Version: The plugin's Version Number, e.g.: 1.0 Author: Name Of The Plugin Author Author URI: http://URI_Of_The_Plugin_Author */ ?>
次に、フックに登録するには、次のようになる。次の例は、管理ページのフッター部分が呼ばれるときのフックに登録する方法です。フッター部分が呼ばれたとき、hoge 関数が呼ばれるという意味です。
add_action(‘admin_footer’, ‘hoge’);
あとは、hoge 関数の中にプラグインでやりたい処理を書いていくわけだが、wordpress にはすでに組み込まれている関数群がある。この関数群の一覧は、Function Reference にまとまっていますので、この関数を使うと便利です。また、wordpress のソースコードを見ると分かりますが、global を使いまくりなので global 変数にアクセスすることもできます。つまり、何でもできるということになります。
例えば、wordpress で今開いているページの URI を知りたいときは、次のようになります。
global $pagenow;
echo $pagenow;
使われている global 変数は資料を探すよりもソースコードを grep した方が早いです。
Tags: wordpress






