最近、苦手な野菜を触りながら離乳食を作るのを楽しんでいるユキぷしゅです!
今回は実案件で用いた簡単にWordPressの環境構築ができる「wp-now」を紹介します!
これまでのWordPressのローカル環境開発といえばこのようなものが思い浮かびます。
今回の案件ではフロントエンドにNuxt.jsを用いていたことからローカルにNode.jsが入っている。
ならばNode.jsでWordPress開発環境を作れる方法がないか模索したところ、、、
あった!
>>> Node.jsベースでローカル環境を作れる「wp-now」 <<<
今回求めていたものだったので、 それをお試しで使ってみることにしました!
初め見た時に「Node.js上でPHPを動かす!?」と驚きましたが、 一旦ここでは割愛します。
ここまでで wp-now がなんか新しい感じがするのは理解いただけたと思うのですが、
「Dockerでの開発環境構築に比べると何がいいの?」と思われるかもしれません。
僕が思うメリットは以下になります。
コンセプトとして、
すぐにテーマやプラグイン開発をするためのツールとなるため、
本番環境に沿ったインフラ・バックエンド構成を行いたい場合は、
Dockerを利用することをおすすめします。
// 今回WordPressを構築したいディレクトリを作成
$ mkdir wp-test-site-a
// ディレクトリに移動
$ cd wp-test-site-a
// wp-nowを実行
$ npx @wp-now/wp-now start
// localhostのURLにアクセス
終わり!
従来の開発環境構築の時間を考えると一瞬過ぎて度肝を抜かれたと思います。
ただこのままではWordPress内でインストールしたプラグインやテーマファイルが、
~/.wp-now/wp-content/playground 内での共通管理となってしまうため、
開発しにくくなっております。
次のセクションでは実際の開発で使える便利機能について紹介します!
$ npx @wp-now/wp-now start --wp=6.6 --php=8.2
管理画面のサイトヘルスで確認 → 変更されている!
管理画面で確認 → 読み込まれている
以下のblueprint.jsonを作成する 各Stepの説明は以下です
{
"steps": [
{
"step": "setSiteOptions",
"options": {
"blogname": "WP Test Site A",
"blogdescription": "Blog Description",
"WPLANG": "ja",
"timezone_string": "Asia/Tokyo"
}
},
{
"step": "defineWpConfigConsts",
"consts": {
"WP_DEBUG": true
}
},
{
"step": "activateTheme",
"themeFolderName": "wp-test-site-a"
},
{
"step": "activatePlugin",
"pluginName": "Custom Admin Header Color",
"pluginPath": "custom-admin-header-color/index.php"
}
]
}
blueprint.jsonを用いwp-nowを実行
$ npx wp-now start --blueprint=blueprint.json
管理画面で確認 → 読み込まれている
Blueprintについては以下ページが公式ドキュメントになります。
https://wordpress.github.io/wordpress-playground/blueprints/steps/#
しかしあくまでもWordPress Playgroundの設定になるため、 wp-nowで使用できないものがあるのでご注意ください。
今回は「wp-now」について紹介していきました!
WordPressというとDBやPHPが必要で、
テーマ制作をしたいだけなのに、
ローカルに開発環境作るのが少し面倒だなと思いがちですが、
これで簡単導入ができます!
テーマ・プラグイン開発には、wp-nowが使えるのでぜひご検討ください!
素敵な WordPress Developer Life を🏝️