はじめてのWordPressプラグイン開発

WordPress

はじめてのWordPressプラグイン

こんにちは。ECF Techブログ
担当 Michiharu.Tです。

本ブログでも使用されているWordPressについての学習ログです。プラグイン開発に興味を持ち、情報収集しているのですが、筆者自身すぐ忘れてしまうので、記録をどんどん残そうと思った次第です。同じような情報を探している人たちの助けになれば幸いです。

対象読者

  • WordPressのプラグイン開発などに興味がある方
  • HTML,JavaScript,PHPなどの基礎的な知識がある方
  • WordPressに関しての基礎的な知識がある方

はじめてのプラグイン開発

今回は最小限のプラグインを作成して、WordPress上で動作させることを目標にしたいと思います。プラグイン開発に関する公式サイト(英語)は下になります。

Plugin Handbook | Developer.WordPress.org
Welcome to the WordPress Plugin Developer Handbook; are you ready to jump right in to the world of WordPress plugins? The Plugin Developer…

動作環境

今回用意した動作環境は下のとおりです。(※動作環境の構築については別記事で掲載予定です。)

  • 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つのパッケージにしたものです。詳細は下をご覧ください。

XAMPP Installers and Downloads for Apache Friends
XAMPP is an easy to install Apache distribution containing MariaDB, PHP and Perl.

開発プラグイン概要

今回作成するプラグインのゴールは次の2つです。

  • プラグインをWordPressに認識させる
    認識されたプラグイン

  • 管理者用通知エリアに「はじめてのプラグイン」と表示させる
    通知エリア

ファイルの配置

では早速作成します。プラグイン作成に最小限必要なものはPHPファイル1つだけです。wordpressフォルダ配下のwordpress\wp-content\pluginsの中にフォルダを作成します。フォルダ名をhello としています。

Step01-01
※上図では他のプラグインのフォルダが表示されています。

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にアクセスし、プラグインを開きます。

下のようなプラグインが表示されます。有効化をクリックします。
動作確認01

管理画面左上に「はじめてのプラグイン」と表示されれば成功です。
動作確認02

動作解説

ヘッダーコメント

自作プラグインが、プラグインと認識されるためには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種類があり、今回使用したのはアクションフックです。フックについては、また別の記事で詳細をまとめたいと思います。

タイトルとURLをコピーしました