
WordPress を採用したサイト構築を行っていると、公開されているプラグインでは機能過多であったり、痒いところに手が届かなかったりする経験はないでしょうか? 結果、お手製の非公開プラグインを開発することがあると思います。
この社内独自の非公開プラグインを、どうやって社内の別プロジェクトで共有管理するか。方法はいくつかありますが、 今回は、 Git と Composer を利用してプラグイン管理する方法を記事にまとめます。
WordPressのプラグイン作成とGit管理
今回は、例として foo-bar-plugin
という名前のプラグインを作ります。
全体のファイル構成
最小限のファイル構成は以下になります。
/foo-bar-plugin
 |-- composer.json ・・・プラグイン情報の記述
 |-- foo-bar-plugin.php ・・・プラグイン本体
プラグイン本体の用意
foo-bar-plugin.phpは、プラグイン本体のファイルです。例えば以下のように書きます。 WordPressは、 wp-content/
の中にある plugins/
にディレクトリと同名のPHPファイルを配置し、PHPのコメントを適切に書くとプラグインと認識します。
<?php
/**
 * Plugin Name: FooBar Plugin
 * Version: 1.0.0
 * Author: FOURIER Inc.
 * Author URI: https://www.fourier.jp/
 * Description: テストプラグイン
*/

add_action('init',function() {
 // 好きな処理を書く
});
Composerの用意
composer.jsonには以下のように書きます。(require-devはおまけ)
typeに「wordpress-plugin」と記述することで、インストール時の設置先を指定します。(後述)
{
 "name": "wpackagist-plugin/foo-bar-plugin",
 "description": "テストプラグイン",
 "type": "wordpress-plugin",
 "license": "proprietary",
 "authors": [
 {
 "name": "FOURIER Inc."
 }
 ],
 "require-dev": {
 "johnpbloch/wordpress-core": "^5.9.2"
 }
}
Gitへの登録
予めGitのリポジトリを作成した後に、 foo-bar-plugin
をコミットします。 この際に、バージョンタグを付けておきます。このプラグインのバージョンになります。
git tag 1.0.0
git push origin HEAD --tags
Composerが認識するバージョンタグについては以下を参照
以上で、お手製プラグインの Git 管理は完了です。
WordPressプロジェクトにプラグインを導入
それでは、上記で用意したプラグインをインストールしてみましょう。
Composer/installersの用意
Composer のインストール先は通常 vendor/
になりますが、それを変更することが出来るライブラリ「 composer/installers
」をインストールします。
composer require composer/installers
composer.json の設定
WordPress プロジェクトの composer.json
を設定します。
まずは、 extra > installer-paths
を指定します。
 wordpress-plugin
というtypeを指定するファイルは、 wp-content/plugins/
に配置されます。
"extra": {
 "installer-paths": {
 "<WordPressインストール先Path>/wp-content/plugins/{$name}/": [
 "type:wordpress-plugin"
 ]
 }
},
次に、 repositories
に作成したプラグインを指定します。
"repositories": {
 "foo-bar-plugin": {
 "type": "vcs",
 "url": "<GitのURL>"
 }
},
プラグインのインストール
以下のように composer require
を実行することで、インストール完了です。 実際に、 wp-content/plugins/
に配置されることが確認できるかと思います。
最新版をインストール
composer require wpackagist-plugin/foo-bar-plugin

バージョン指定する場合
composer require wpackagist-plugin/foo-bar-plugin:1.*
以上で、 Git と Composer を利用した WordPress プラグイン管理が完了です。 一見、手順が煩雑であったり手間がかかるように思えますが、社内チームでプラグイン開発や共有する上で、非常に便利になると思いますので、是非試してみてください。