WordPressプラグイン開発環境のベストプラクティス

DockerでWPテスト環境を作成する情報が少なかったので、簡単に紹介します。

開発環境

  • Docker
  • wp-cli
  • PHP 7.2.14
  • PHPUnit 6.1.0

Docker利用Image

エディタ

  • Intellij IDEA or PhpStorm

コーディング規約と補間機能が快適。

流れ

  1. Docker環境の作成
  2. wp-cliでプラグインのテスト開発環境の構築
  3. Intellij IDEAで環境設定

全て用意できればWordPressのプラグイン作成環境としては100点だと思います。
Intellij IDEAは有料ですが、1ヶ月無料でで試すことが可能なので、使ってみてよかったら購入しましょう。

Docker環境の作成

前提:docker-composeインストール済み

matometaru/wp_template
:whale: wp :whale: . Contribute to matometaru/wp_template development by creating an account on GitHub.
git clone git@github.com:matometaru/wp_template.git
cd wp_template

Dockerコマンド

// 起動
docker-compose up -d
// 終了
docker-compose down
// 起動コンテナの確認
docker ps
// WordPress環境にログイン
docker exec -it wp_template_wordpress_1 /bin/bash

wp-cliでテスト環境の作成

プラグイン名の「abc」という名前は各自変更すること。
全てホスト(私の場合はmac側)から実行。

// abcというプラグインを作成
docker run -it --rm     --volumes-from wp_template_wordpress_1     --network container:wp_template_wordpress_1     wordpress:cli scaffold plugin-tests abc

// テスト環境のインストール
docker-compose exec wordpress bash -c "cd /var/www/html/wp-content/plugins/abc; bash bin/install-wp-tests.sh";

// テーブル作成
docker-compose exec wordpress bash -c "cd /var/www/html/wp-content/plugins/abc; bash bin/install-wp-tests.sh wordpress_test root 'somewordpress' db";

// phpunitの実行
docker-compose exec wordpress bash -c "cd /var/www/html/wp-content/plugins/abc; phpunit"

phpunitが実行できればテスト環境の構築まで完了。

IntelliJ IDEAの設定

PhpStormにWordPress-Coding-StandardsのCode Snifferを設定する。Mac編 - Qiita
WordPressのコーディングルールに準拠しているか、 Code SnifferをPhoStormに設定していると即座に確認できて便利です。 (

基本的には上の記事の通り設定します。私の設定した箇所を念のためアップしておきます。

まとめ

アップデートまでの時間が空くと、WordPressの規約や、このメソッドは何をしていたのかなど、忘れてしまいます。
そういったことはテスト、エディタに任せ、プラグインの機能開発に集中しましょう。

コメント