プラグイン作成
プラグインの作り方
ワードプレスはPHPで作成されており、プラグインもPHPで作成されています。 実装したい機能をPHPスクリプトで作成してください。(PHPについてはPHPでWEB作成を参照。) ここでは、ワードプレス独自の仕様について解説します。
ワードプレスのプラグイン
ワードプレスでは、プラグインからグローバル変数にアクセスし、改変できます。またデータベースにも直接アクセスできます。 プラグイン作成の自由度が高く、強力な機能も実装できます。 一方で、正しく作成しないと、WordPress本体の動作をおかしくする、データベースを破損する、セキュリティホールが発生する、等の危険もあります。
冒頭のコメント
ワードプレスプラグインと認識されるためには、ファイルの冒頭に以下のようなコメント記述が必要になります。 プラグイン名は、機能を良く示す名前で、他のプラグイン名と被らないものにしてください。
<?php /* Plugin Name: プラグイン名 Plugin URI: プラグインの場所のURI Description: 解説 Version: ヴァージョン Author: 作者名 Author URI: 作者のサイトのURI */ ?>
プラグインをフックする
プラグインには、実行する関数だけでなく、いつどのようにプラグインを実行するか?という情報も記述します。 WordPressのイベント実行時にプラグインを実行するadd_action()と、データをフィルタリングするadd_filter()が用意されています。
add_action ( 'hook_name', 'your_function_name', [priority], [accepted_args] );
hook_nameは、プラグインを実行するイベントを指定します。例えば記事投稿時にプラグイン実行する場合は、publish_postと指定します。
your_function_nameは、(あなたの作成した)実行させる関数名です。
priorityは、実行時の順番を整数値で指定します(デフォルト値10)。数字が小さいものから実行されます。 accepted_argsは、関数の引数の数を整数値で指定します(デフォルト値1)。
add_filter ( 'hook_name', 'your_function_name', [priority], [accepted_args] );
hook_nameは、フィルタリングするデータを指定します。。例えば投稿されたコメントに対して実行する場合は、comment_textと指定します。
your_function_nameは、(あなたの作成した)実行させる関数名です。
priorityは、実行時の順番を整数値で指定します(デフォルト値10)。数字が小さいものから実行されます。 accepted_argsは、関数の引数の数を整数値で指定します(デフォルト値1)。
インストール
作成したプラグインは、wp-content/pluginsディレクトリに設置します。 その後、ログインして管理画面でプラグインを有効化します。
なおインストール成功は、WordPressがプラグインとして認識した、という意味です。 プラグインがPHPスクリプトとして正しく記述されていることを保証するものではありません。