WordPressでプラグインの作成

PHPを少しでも勉強した人は、自分でWordPressのプラグインを作成したいと考える人が多いと思います。私も自分でプラグインを作成してみたいと思い、プラグインの勉強をすることにしてみました。

それでは、プラグインについての勉強を始めたいと思います。

まず、プラグインとは何なのかを、WordPressの公式オンラインマニュアルである、Codexで調べてみました。Codexによると、プラグインは、WordPressの機能を拡張するためのツールであり、WordPressのコアは、柔軟性を保つために不必要なコードの膨張をしないよう設計されているとのことです。そのため、各々のユーザーがそれぞれ特定のニーズに合わせることができるようにプラグインを利用してカスタム機能を取り入れることができるように作成されているとのことです。

プラグインの事を詳しく勉強したい人は、Codexのプラグインの作成を参照して下さい。

それでは始めたいと思います。

プラグインの名前

プラグインの名前は、プラグインを配布することを考えて、できれば唯一の名前を生成するようにして下さい。

プラグインファイル名

プラグインファイル名も、できれば、唯一のPHPファイル名を作成するようにして下さい。

標準プラグイン情報

プラグインの主たるPHPファイルの先頭には、標準プラグイン情報ヘッダーを記述する必要があります。以下のように記載しますが、この中で最低限必要な情報は、Plugin Nameの行です。

<?php
/*
Plugin Name: (プラグインの名前)
Plugin URI: (プラグインの説明と更新を示すページの URI)
Description: (プラグインの短い説明)
Version: (プラグインのバージョン番号。例: 1.0)
Author: (プラグイン作者の名前)
Author URI: (プラグイン作者の URI)
*/
?>

それでは、前回作成した会員限定サイト作成のための簡単なコードをプラグインとして作成したいと思います。

①まず、標準プラグイン情報を作成します。下記のように作成しました。

<?php
/*
Plugin Name: dedicated site
Plugin URI: http://w.builwing.info
Description: 会員限定サイトの簡単なプラグイン
Version: 1.0
Author: nakada
Author URI: http://w.builwing.info
*/
?>

②次に、ログインしていない人がアクセスした場合、強制的にログインページへ移動させるためのコードを標準プラグイン情報の下に記述します。

function the_dedicated_site(){
 if ( ! is_user_logged_in()){
 auth_redirect();
 }
 }

フックの設定

WordPressでプラグインを起動させるには、『フック(Hook』と呼ばれる仕組みを使って実行するのが一般的です。この『フック』とは、WordPressの処理の節目ごとにプラグインの処理が実行されるような仕組みを指します。WordPressのテーマでは、ヘッダーのテンプレートの中で、wp_head関数を実行することが一般的で、この関数は、『wp_head』というアクションのフックを処理するようになっています。今回のプラグインは、ヘッダーを表示する時点で、プラグインの処理も実行される必要がありますので、wp_headアクションに対してプラグインの処理をフックしておきます。

③wp_headアクションにフックするためには、add_action関数を利用します。add_action関数は下記のように記載します。

add_action(‘アクション名’,’関数名’,優先順位,パラメータ数)

今回は3番目と4番目のパラメータは使用することはありませんので、上記②のコードの下に下記のように記載します。

add_action('wp_head','the_dedicated_site');

④次に、『wp-content/plugins』フォルダに新しく『dedicated-site』名でフォルダを作成します。

⑤作成した『dedicated-site』フォルダ内に、上記のファイルを『dedicate_site.php』ファイル名で保存します。

⑥作成した『dedicated-site』のフォルダごと、サーバーにアップします。

⑦前回作成した『wp-content/themes/customise2011』フォルダのheader.phpファイルを削除します。

⑧それでは、アップしたサイトのダッシュボードを開いて、メニューのプラグインをクリックします。dedicated siteというプラグインが表示されているはずです。有効化をクリックします。

⑨それでは、いったんログアウトしてから、元のサイトに戻るリンクをクリックしてみます。

⑩再度ログイン画面が表示されればOKです。尚、『WP Super Cache』を導入している人は、キャッシュにより正しく動作しない可能性がありますので、『WP Super Cache』を一旦停止するか、『キャッシュを削除』して下さい。

本日は以上です。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ