と、大きなタイトルを書きましたが、加速するかどうかは利用されるご本人次第ということでご容赦くださいませ。
以前から「wp-env使えるようになりたいなー」と思ってはいたのですが、トライしてみた際にエラーを解決できなくて詰んだこともあり、ちょっと取り組む気持ちが薄れていました。
しかし、界隈の皆さんから「wp-envやばい」という声を多く聞くようになり、使うか使わないかは置いておいて、使い方は知っておく必要があるでしょ、と重い腰を上げて今回トライしてみました。
結果、めっちゃ便利です。
Dockerを用意
まずはDockerを用意しておきましょう。アプリをダウンロード&インストールです。そして、立ち上げておきましょう。
npm
npmが使えるようにしておきましょう。まだの方は、こちらの記事の他にもわかりやすく説明されている記事がたくさんあるので調べてみてください。
wp-envを使ってみる
では、実際にwp-envを使って環境を作ってみましょう。
まずは、デスクトップ(でもどこでもいいんですが)にプロジェクトのファイルを用意します。今回はwp-env-test
とかにしておきます。
$ mkdir wp-env-test
$ cd wp-env-test
そして、npmを初期化します。
$ npm init
そのあとに、@wordpress/env
をインストールします。
$ npm i @wordpress/env --save-dev
そこそこ時間がかかるので、気長に待ちます。
インストールが終わったらpackage.json
に以下のスクリプトを設定します。既存で入っているものは消しても大丈夫です。
"scripts": {
"wp-env": "wp-env"
}
では、ここまでうまくいっているか、実際に立ち上げてみましょう。
$ npm run wp-env start
ターミナルでWordPres started
と出たら、http://localhost:8888/
にアクセスしてみましょう。WordPressサイトが表示されていれば成功です。
ちなみにWordPressを止めるには、
$ npm run wp-env stop
と入力します。
.wp-env.json でカスタマイズする
上記のように環境と立ち上げると、以下のようなメッセージをターミナルで確認することができます。
Warning: could not find a .wp-env.json configuration file
これは .wp-env.json
ファイルを見つけれませんでしたと書いてあるのですが、.wp-env.json
を使うことで、立ち上げる環境をカスタマイズすることができます。
以下に簡単にまとめてみます。よろしければリンクのドキュメントも一緒に参考にしてください。
"core" | 使用する WordPress のバージョンなどを指定。null が指定されている時には最新のものを使用する。WordPress/WordPress#6.2.1 といった形でバージョンを指定できる。 |
"phpVersion" | PHP のバージョンを指定 |
"plugins" | 環境でインストールし有効化したいプラグインを指定 |
"themes" | 環境でインストールしたいテーマを指定 |
"port" | 優先的に利用したいポート番号を指定 |
"testsPort" | テストサイトのポート番号を指定 |
"config" | wp-config.php の定数をマッピングします。以下のような値を設定できます。WP_DEBUG: true, |
"mysqlPort" | 公開する MySQL のポート番号を指定 |
例えばですが、テーマ開発をサクッと始めたい場合などは、このような雛形を用意しておき、必要に応じてカスタマイズしていくのも良いでしょう。
{
"core": null,
"phpVersion": "8.1",
"themes": [ "." ],
"config": {
"WP_DEBUG": true,
"WP_DEVELOPMENT_MODE": true
}
}