はじめてのWordPressプラグイン
こんにちは。ECF Techブログ
担当 Michiharu.Tです。
本ブログでも使用されているWordPressについての学習ログです。プラグイン開発に興味を持ち、情報収集しているのですが、筆者自身すぐ忘れてしまうので、記録をどんどん残そうと思った次第です。同じような情報を探している人たちの助けになれば幸いです。
対象読者
- WordPressのプラグイン開発などに興味がある方
- HTML,JavaScript,PHPなどの基礎的な知識がある方
- WordPressに関しての基礎的な知識がある方
はじめてのプラグイン開発
今回は最小限のプラグインを作成して、WordPress上で動作させることを目標にしたいと思います。プラグイン開発に関する公式サイト(英語)は下になります。
動作環境
今回用意した動作環境は下のとおりです。(※動作環境の構築については別記事で掲載予定です。)
- XAMPP for Windows 8.0.28
- Apache 2.4.56
- PHP Version 8.0.28
- MariaDB 10.4.28
- WordPress 6.4.1
XAMPPは、Webサーバ(Apache)、データベース(MariaDB)、PHPの3つを1つのパッケージにしたものです。詳細は下をご覧ください。
開発プラグイン概要
今回作成するプラグインのゴールは次の2つです。
-
プラグインをWordPressに認識させる
-
管理者用通知エリアに「はじめてのプラグイン」と表示させる
ファイルの配置
では早速作成します。プラグイン作成に最小限必要なものはPHPファイル1つだけです。wordpressフォルダ配下のwordpress\wp-content\plugins
の中にフォルダを作成します。フォルダ名をhello としています。
※上図では他のプラグインのフォルダが表示されています。
helloフォルダ内にhello.phpという名前のPHPファイルを作成します。
プログラムの作成
下の内容をPHPファイルに記述します。XXXXXXXX
の部分は著者名です。ご自身の名前などご自由に入れてください。
<?php /* Plugin Name: First Hello Description: 「はじめてのプラグイン」と表示 Author: XXXXXXXX Version: 1.0.0 */ function hello_plugin(){ print('<p>はじめてのプラグイン</p>'); } // アクションの追加 add_action( 'admin_notices', 'hello_plugin' ); ?>
これで完成です。
動作確認
動作確認を行います。管理者権限のユーザーで、ブラウザからWordPressにアクセスし、プラグインを開きます。
下のようなプラグインが表示されます。有効化をクリックします。
管理画面左上に「はじめてのプラグイン」と表示されれば成功です。
動作解説
ヘッダーコメント
自作プラグインが、プラグインと認識されるためにはPHPファイルにヘッダーコメントを挿入する必要があります。今回のソースの下記部分です。
/* Plugin Name: First Hello Description: 「はじめてのプラグイン」と表示 Author: XXXXXXXX Version: 1.0.0 */
上記のように:
で項目と値を区切ったものを1行ずつ並べます。設定可能な項目の一部を下に示します。
項目名 | 概要 |
---|---|
Plugin Name | プラグイン名です。唯一の必須項目です。 |
Plugin URI | プラグインに関するWebサイトのURLです。 |
Description | プラグインの簡易説明です。140文字以内にする必要があります。 |
Version | バージョン番号です。 |
Author | プラグインの制作者名です。 |
Author URI | 制作者のWebサイトURLです。 |
License | GPLv2 のような、ライセンスの省略名です。 |
License URI | ライセンス記述へのリンクです。 |
※その他設定項目については、こちらをご覧ください。
フック
フック(Hook)を使うと、あるタイミングで自身の作成したプログラムを実行できます。その方法が下記のプログラムです。
add_action( 'admin_notices', 'hello_plugin' );
この記述はadmin_notices
という動作を実行する箇所で、hello_plugin
関数も実行してください。という意味です。
admin_notices
は管理画面の通知領域を表示する際に実行されますので、そのタイミングでhello_plugin関数が呼び出されます。
hello_plugin関数の処理は次のようになっていますので、管理画面に「はじめてのプラグイン」という文字列が表示されます。
print('<p>はじめてのプラグイン</p>');
フックにはアクションフック(action hook)とフィルターフック(filter hook)の2種類があり、今回使用したのはアクションフックです。フックについては、また別の記事で詳細をまとめたいと思います。