4月3日(土)、WordBench大阪勉強会を開催しました。今回のネタはプラグインの作り方でした。http://wordpress.org/extend/plugins/showid-for-postpagecategorytagcomment/ を題材としました。
プラグインを作る方はもちろんですが、プラグインを導入して WordPress を運用する方は、導入するプラグインがどんな操作をするのかを知っておくべきです。
プラグインの仕組みとして、アクションフック、フィルターフックの話をしました。WordPress では、様々な所にフックが用意されています。フックを指定することで、プラグインを処理する箇所を指定することができます。
function always_showid() { ?> <style type="text/css">div.row-actions{visibility:visible !important;}</style> <?php } add_action( 'admin_head', 'always_showid' );
上記例では、admin_head(管理画面のHTMLヘッダ出力)で、オリジナルのスタイルシート定義を出しています。
表側(訪問者が見るページ)のスタイルシートは、テーマテンプレートを直接編集すれば良いのですが、裏側(管理画面)のスタイルシートは、(コア改変よりも)プラグインフックを利用してカスタマイズするのが良いでしょう。
PHP に関して、上の例のように、<style と直接書くことについて質問がありました。Perl 等ではヒアドキュメントを使うのが一般的かもしれません。PHP にもヒアドキュメントはありますが、上のように直接書くのが PHP らしいと思います。こういう書き方ができるのは、PHP を使うほとんど唯一のメリットだと思います。
オブジェクトの中の変数について、wp_get_current_user()->data->ID のように書くことができます。見た記憶が無い形式でしたが、PHP5 で可能な書き方のようです。
次回は6月初旬に、第一回WordBench神戸を三宮で開催します。ネタは今回の勉強会を踏まえ、各自がプラグインを作ってみて紹介する、というのを考えています。
お知らせ:WordCamp 横浜が5月29日(土)開催予定です。もしかしたら関西でオンライン中継をするかもしれません(あくまで計画ですので、確定ではありません)。