WordPressプラグイン作りの基本とhook(WordPressプラグイン作成日記 #1)

ちょっと思い立って、愛用しているBlogツール『WordPress』のプラグイン作りに挑戦しています。
参考ドキュメントは、こちらのオフィシャルドキュメント。(英語です(汗

» Writing a Plugin « WordPress Codex

ここでは、作り方の基本を紹介します。間違えていても怒らないでください。
まずはプラグインの基本。プラグインは、純粋な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
*/
?>

このコメントは、プラグインに必ず必要なコメントで、次の内容を記述します。

Plugin Name
プラグインの名前。公開を前提にする場合は必ず重ならない名前をつけます
Plugin URI
プラグインの最新バージョンへのリンクです。これをチェックして新バージョンの告知を行います
Description
説明。管理画面で表示されます。
Version
バージョン番号
Author
著作者の名前
Author URI
制作者のWebサイトやサポート用のサイトのURL

あとは、このコメントの下に自由にスクリプトを記述していきます。

hookを使う

プラグインの基本はPHPのファンクションを作成することから始まります。たとえば、次のようなスクリプトを作ってみます。

function hello() {
	echo 'フッターに文字列を追加します';
}

よくある「Hello World」と呼ばれるスクリプトです。実行すれば、「フッターに文字列を追加します」というメッセージが表示されます。
このファンクションをあるタイミングで呼び出すわけですが、ここで出てくるのが「hook」です。

hookとはつまり「きっかけ」のことで、どういうきっかけでこのファンクションを呼び出すかの設定です。たとえば、続けて次のように打ち込みます。

add_action('wp_footer', 'hello');

これで完成。このファイルを「wp-content/plugins」フォルダに保存して、管理画面から「プラグイン」をのぞくと、今追加したファイルが表示されているはずです。あとは「有効化」をクリックすればOK。

図:プラグインを有効化

図:プラグインを有効化

この状態でエントリー画面にもどると、画面の一番下にメッセージが追加されています。フッターが表示されたことをきっかけにこのプラグインが作動するというわけです。
例えば、Google Analyticsのタグを挿入する時など、テンプレートを編集してしまうと後で困りますが、こうしてプラグインを作っておけば後が楽で良いですよね。

図:実行したところ

図:実行したところ

利用できる hookの種類はこちらにあります。英語ですが、見れば何となくどのきっかけなのか分かります。

» Plugin API « WordPress Codex

最後にスクリプトを全文掲載しておきます。

<?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
*/

function hello() {
	echo 'フッターに文字列を追加します';
}

add_action('wp_footer', 'hello');
?>
This entry was posted in ブログ. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>