wp-now で blueprint を使って依存プラグインを自動インストールする
WordPress プラグインを開発していると、他のプラグインに依存するケースがあります。たとえば、Bogo と WP Search with Algolia に依存するプラグインを開発する場合、毎回手動でプラグインをイ […]
目次
WordPress プラグインを開発していると、他のプラグインに依存するケースがあります。たとえば、Bogo と WP Search with Algolia に依存するプラグインを開発する場合、毎回手動でプラグインをインストールするのは非常に面倒でしょう。
wp-now には blueprint という機能があり、WordPress 環境のセットアップを自動化できます。この機能を使えば、依存プラグインを自動的にインストールした状態でテスト環境を構築可能です。
なぜ blueprint を使うのか
以前は、wp-now を起動してから管理画面にログインし、プラグインを検索してインストール、有効化という手順を繰り返していました。これが3つ、4つと増えると、かなりの時間を取られることになります。
blueprint を使えば、この手順を自動化できます。npm run wp-now を実行するだけで、必要なプラグインが全部インストールされた状態で WordPress を起動できます。
blueprintをセットアップする
1. プロジェクトの準備
まず、プロジェクトのルートディレクトリに blueprint.json を作成します。このファイルに、インストールしたいプラグインを記述していきましょう。
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"steps": [
{
"step": "installPlugin",
"pluginZipFile": {
"resource": "wordpress.org/plugins",
"slug": "bogo"
},
"options": {
"activate": true
}
},
{
"step": "installPlugin",
"pluginZipFile": {
"resource": "wordpress.org/plugins",
"slug": "wp-search-with-algolia"
},
"options": {
"activate": true
}
}
]
}
steps 配列に、インストールしたいプラグインを追加します。resource に "wordpress.org/plugins" を指定し、slug にプラグインのスラッグを書けば、WordPress.org から自動的にダウンロードされます。
options.activate を true にしておくと、インストールと同時に有効化もしてくれるので便利です。
2. wp-now.json の設定
プロジェクトの設定を wp-now.json に記述します。このファイルは wp-now によって自動的に読み込まれるため、起動時のオプション指定が不要になります。
{
"php": "8.2",
"wp": "latest",
"port": 8888,
"blueprint": "blueprint.json",
"plugins": [
"."
]
}
blueprint に blueprint ファイルのパスを指定することで、起動時に自動的に実行されます。plugins に "." を指定すると、現在のディレクトリがプラグインとして読み込まれます。開発中のプラグインを自動的に有効化したい場合によく使います。
3. package.json の設定
package.json の scripts に、wp-now を起動するコマンドを追加します。
{
"scripts": {
"wp-now": "wp-now start"
},
"devDependencies": {
"@wp-now/wp-now": "^0.1.74"
}
}
wp-now は起動時に wp-now.json を自動的に読み込むため、--blueprint オプションを指定する必要はありません。
4. 実行
準備ができたら、以下のコマンドで wp-now を起動しましょう。
npm install
npm run wp-now
まとめ
wp-now の blueprint 機能を使えば、依存プラグインのインストールを自動化できます。blueprint.json にプラグインを記述し、wp-now.json で blueprint ファイルを指定するだけです。wp-now は設定ファイルを自動的に読み込むため、コマンドラインオプションを指定する必要もありません。
これで、開発環境のセットアップにかかる時間を大幅に短縮できるでしょう。ぜひ試してみてください。