MENU

wp-envでWordPressテーマのローカル開発環境を構築する

WordPress公式がリリースしている、@wordpress/envパッケージ(wp-env)を使用してWordPressテーマのローカル開発環境をセットアップする方法(※Mac用)です。

目次

前提条件

以下が必要です。

Node.jsはバージョン管理もできると便利です。下記を参考にどうぞ(※Mac用)

インストール

公式サイトを参考にすすめます。

WordPress環境をつくりたいディレクトリ(ここでは wp-env-test とします)に移動し、コマンドでパッケージをインストールします。

# インストールしたいディレクトリに移動
$ cd /your-path/wp-env-test

# インストール
$ npm i @wordpress/env --save-dev

環境の開始、そして起動

以下のコマンドで環境を開始します。初回はやや時間がかかります。

$ wp-env start
⚠ Warning: could not find a .wp-env.json configuration file and could not determine if '/your-path/wp-env-test' is a WordPress installation, a plugin, or a theme.
WordPress development site started at http://localhost:8888
WordPress test site started at http://localhost:8889
MySQL is listening on port 51156
MySQL for automated testing is listening on port 51231

 ✔ Done! (in 73s 129ms)

Done! が表示されたら成功です。

.wp-env.json を準備していないため、警告を受けつつも、最低限のWordPressローカル開発環境が出来上がりました。

ブラウザで、http://localhost:8888 を開くとWordPressのサイトが確認できます。

管理画面は、http://localhost:8888/wp-admin/ にアクセスし、以下でログインできます。
Username:admin
Password:password

環境の停止

停止も簡単。

$ wp-env stop
✔ Stopped WordPress. (in 13s 2ms)

カスタマイズ

爆速でローカル環境ができあがりました。あとは、開発しやすいように .wp-env.json を用意してカスタマイズしておくと便利です。

私の環境を少しご紹介。

{
  "core": "https://ja.wordpress.org/wordpress-6.6.2-ja.zip",
  "plugins": [
    "https://downloads.wordpress.org/plugin/advanced-custom-fields.6.3.6.zip",
    "https://downloads.wordpress.org/plugin/all-in-one-seo-pack.4.7.1.1.zip",
    "https://downloads.wordpress.org/plugin/backwpup.4.1.4.zip",
    "https://downloads.wordpress.org/plugin/breadcrumb-navxt.7.3.1.zip",
    "https://downloads.wordpress.org/plugin/duplicate-page.zip",
    "https://downloads.wordpress.org/plugin/siteguard.1.7.8.zip"
    "https://downloads.wordpress.org/plugin/wp-multibyte-patch.2.9.zip",
    "https://downloads.wordpress.org/plugin/wp-pagenavi.2.94.1.zip"
  ],
  "config": {
    "WP_DEBUG": true
  },
  "themes":["."],
  "mappings": {
    "wp-content/uploads": "./wordpress/uploads",
    "wp-content/themes": "./wordpress/themes",
    "wp-content/plugins": "./wordpress/plugins",
    "sql": "./sql"
  }
}

pluginsには、私がいつも使用する定番プラグインを書いています。インストールから有効化までされるので便利です。また、アップロードファイル、テーマ、プラグインをマッピング指定しています。

DBの共有が必要な場合に備えてsqlディレクトリもマッピングの対象にしています。wp-envにwp-cliも入っているので、それを使ってエクスポートし、Gitで共有できるそうなので(私はひとり開発なのであれですが)

# DBエクスポート
$ npm run wp-env run cli wp db export sql/wpenv.sql

# DBurl書き換え
$ npm run wp-env run cli wp search-replace 'http://localhost:8888' 'https://custom-dev-domain'

# DBインポート
npm run wp-env run cli wp db import sql/wpenv.sql

あとがき

実際には、フロントエンドのビルドツール(私はVite推し)を組み合わせて使用しています。テーマ制作の場合、静的でつくってからWordPress化することが多いので、その流れも考慮し、ビルド前の作業ファイルをsrcディレクトリに置き、出力にdistディレクトリ、WordPressテーマ化にwordpressディレクトリを用意して、そのwordpressディレクトリをマッピングするといった具合です。このあたりの詳細は、また別の機会にご紹介しようと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次