CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

WordPressでプラグインを作ってみます。
今回は導入編として、バージョン3.2.1上で特に意味を持たないプラグインを作成してみたいと思います。

PHPファイルをプラグインフォルダに作成する

WPを設置したフォルダ内の「/wp-content/plugins/xxx.php」にPHPファイルを新規作成します。
ファイル名の「xxx」は任意ですが、他のプラグインと名前が被らないようにしなければなりません。そうは言っても、現状、WPのプラグインは無数に開発されているので、完全に衝突を避けるのは難しいかもしれません。プラグインを公開する場合は気を使う必要がありますが、個人的用途を作成する場合は、そこまで神経質になることはないかもしれません。

今回は確認のために、フッタに「Hello World!」を表示するだけのプラグイン「hello_world.php」を作成してみます。

プラグイン情報をコメントアウトで記述する

PHPに以下の内容を記述します。

/*
Plugin Name: Show Hello World
Plugin URI: http://helog.jp/
Description: test test test test test
Version: 1.0
Author: H.Y
Author URI: http://helog.jp/
*/

これらの内容は、WPの管理画面で表示される内容です。また、プラグインを公開する場合は、この内容で展開されるので、プラグイン検索などを含め考慮する必要があります。また、先ほども述べたように、プラグイン名については他の公開されているプラグイン名と被らないようにしなければなりません。さらに、日本語限定のプラグインでない限りは英語で記述することが奨励されています。

以下、実際に管理画面⇒プラグインで「Show Hello World」確認し、プラグインを有効化してみました。
wordpress_plugin_test
現時点では「何も機能を持っていないプラグイン」ですが、基本的に、これでプラグイン作成とインストールは完了です。

プラグインが有効かどうか動作確認してみる

先ほどの「hello_world.php」に下記の処理を追加します。

function hello_world() {
	echo "Hello World!!";
}
add_action('wp_footer', 'hello_world');

これは、関数「wp_footer()」がコールされたところで「hello_world()」を実行する処理です。デフォルトテンプレートのフッタ部分には「wp_footer()」という記述がありますが、このタイミングで処理が実行され「Hello World!!」がフッタに表示されます。この処理の詳細は後日解説できればと思いますが、とりあえず、プラグインが動いていることが分かると思います。

少し話は外れますが、このように「wp_header()」や「wp_footer()」はプラグインを正しく動かすために必要な関数です。通常、この関数を残しておくのが正なのですが、テンプレート開発の際に削除してしまってはないでしょうか。この点は注意が必要です。

プラグインを作り込む

プラグインの開発というのは、上記PHPファイルにアクションフック、フィルタフックやショートコードを記述することで進めます。
もちろんクラスを作成することもできますし、規模が大きくなれば「/wp-content/plugins/hello_world/hello_world.php」というように、ファイル群をフォルダにまとめる構成も可能です。

さて、フックなどを勉強して何か作ってみたいと思います。

このエントリーをはてなブックマークに追加

Comment

Monthly Archives

Search