Web制作・開発会社 プレスマンのスタッフブログ

PRESSMAN*Tech

Wordup CLIでWordPress on Dockerの開発環境を構築

Docker+WordPressで開発をしているのですが、思いついた時にプラグインのローカルに開発環境を立ち上げたい時がたまにありますよね?(ないですかね。。)
以前ご紹介した記事でやる方法が楽ではあるのですが、コマンド一発で構築ができるものを見つけたのでメモ書きしときます。

Wordup CLI

Wordup CLIとは、ローカルで開発したプラグイン/テーマを管理するツールだそうです。
https://wordup.dev/
Nodeで作られているので、npm/yarnで簡単に利用できます。

使用方法

githubのreadmeに書いてある通りに実行するだけです。
まずは、wordup-cliのインストールをします。
$ npm install -g wordup-cli
次にお好きなディレクトリ配下でinitします。
$ wordup init
? What's the name of your new project WP10 Project
? What do you want do develop A WordPress plugin
? Scaffold src with the official WordPress boilerplate code Yes
? Homepage of your project (optional)
? Repository URL (optional)
   create README.md
   create .gitignore
   create src/.scaffold
   create package.json

> wp10-project@0.1.0 postinstall /Users/wp10-project
> wordup install || true

? Do you want to install WordPress from scratch (New) or install from a local/remote source New
? Title of the WordPress installation WP10 Project
? Admin user hoge
? Admin password (Just for development purposes) fuga
? Admin email wp10@test.ne.jp
途中、公開プラグインを追加でインストールするかどうか問われるので、入れたい場合はこちらで検索>インストールができます。
今回はHow to useに合わせてACF入れてみました。
? Search public WordPress plugins (leave blank if you dont want to add plugins) advanced custom fields
? Select from the list advanced-custom-fields
? Want to enter another item? No
? Search public WordPress themes (leave blank if you dont want to add themes)
Installing wordup project and connected docker containers (can take some minutes)... ✔
Waiting 10s for the server to boot... ✔
Setting-up WordPress based on your package.json settings... ✔
"WP10 Project" successfully installed. Listening at http://localhost:8000

npm notice created a lockfile as package-lock.json. You should commit this file.
up to date in 349.113s
found 0 vulnerabilities

---
インストール完了後、いつものログイン画面が表示されます。
プラグインには、プロジェクトで記入したものとACFがインストールされていることが確認できます。
ディレクトリ構成は以下のようになります。
中ではwp-cli使ってるっぽいですね。
.
├── README.md
├── dist
├── package-lock.json
├── package.json
└── src
    ├── Gruntfile.js
    ├── bin
    │   └── install-wp-tests.sh
    ├── package.json
    ├── phpunit.xml.dist
    ├── readme.txt
    ├── tests
    │   ├── bootstrap.php
    │   └── test-sample.php
    └── wp10-project.php
あとはよしなに使ってみてください。

その他機能

開発したプラグインや、SQL、WordPressのコアなどがエクスポートできるコマンドが用意されています。
// プラグイン
$ wordup export src
// SQL
$ wordup export sql
// WordPressコア
$ wordup export installation
dist下にエクスポートされてました。

まとめ

フォルダ管理が下手で、yml探すのが面倒な私にとっては非常に便利でした。
また、弊社ではWordPress勉強会でローカル環境を立ち上げる機会が多いので、使い道が結構ありそうな気がしてます。
ローカルで開発した内容をUpdraftPlusと連携してリモートに載せることもできるみたいですので、試してみようと思います(Productionではやるなと書かれてますが)。