WordPressの開発環境を作ろうとしたときに、様々あるツールの中から何を選んだら良いか迷ったので、用途別でこのツールを使おう!というのをまとめました。
本記事では各ツールの細かい使用方法までは触れません。
開発環境ツールの選択肢
WordPressの開発環境を作る際によく使用されるツールとして、以下のツールが有名どころかなと思います。
近年登場したツールから古のツールまで数多くのツール選択肢があります。
それぞれのツールには特徴がありますので、適材適所・用途別で使い分けてあげると良いです。
プラグインやテーマの動作確認をしたい
サポートやプルリクエストなどでWordPressのプラグインやテーマの動作確認が必要な時に選ぶツールは WordPress Playground です。
WordPress Playground は起動時にWordPressのバージョンやPHPのバージョンを指定することができるため、バグ報告などがあった際に簡単に同じ環境を再現することができます。
WordPress Playground は以下の方法で利用することができます。
- Webサイト
- GitHubリポジトリ
- wp-now(node.jsのパッケージ)
- VSCode拡張機能
- Chrome拡張機能
しかし、 WordPress Playground で立ち上がるWordPress環境は一時的なインスタンスになります。
そのため、制作会社のようにいくつもの開発環境の状態を保持しておく必要がある場合には不向きです。
まだリリースされて日が浅いからか日本語での参考記事も少なく、ソースコードを直接開いて編集するというのもクセがあるため、あくまでWordPressの管理画面上のみで完結できる作業をするときに使用すると良いと思います。
複数のWordPress開発環境を簡単に作りたい
制作会社のように複数のWordPress開発環境を保持しておく必要がある時に選ぶツールは Local by Flywheel です。
ツール名としての正確な表記は「Local」なのですが、ローカル開発環境の「ローカル」と口語的に同じなので意図的に Local by Flywheel と表記しています。
Local by Flywheel はインストール型のWordPress開発環境構築ツールで、開発環境を作成する際に、PHPのバージョン・Webサーバー・データベースを選択することができます。
他にも Local by Flywheel の機能として、ローカル開発環境なのに外部の人にその環境を共有できるリンクを発行できるというような便利機能が多数搭載されています。
制作会社のようにソースコードを直接編集したい場合などにも、作成されたディレクトリの中にしっかりとWordPressのファイルが作られるので、Gitと連携して制作を進めたい場合などにも便利です。
複雑なインフラ構成も含めた開発環境を作りたい
作ろうとしているWordPressの開発環境が、他のシステムやWebサイトとの連携の兼ね合いで、1つのインフラ環境にWordPress以外のシステムが必要な場合があります。そういった時に選ぶツールは Docker です。
Docker はインフラ構成もまとめて1つのコンテナ仮想化技術を使って開発環境を作ることができるツールです。
Docker を使いこなすにはそれなりの学習コストが必要ですが、 docker-compose を一度作っておけば、簡単に同じ環境を複製することができるようになります。
今まで使い慣れた環境で開発環境を作りたい
これまでローカル開発環境として使われた実績の多いツールを使いたい時は XAMPP / MAMP です。
XAMPP / MAMP は長い期間使われてきたツールで参考記事も多く存在します。
XAMPP と MAMP は単純にWindowsならXAMPP Macなら MAMP という程度で使い分けをする場合が多い印象です。(一応、両ツールともWindows版・Mac版は存在します。)
XAMPP に関してはポータブル版があるため、使用しているPCの権限的に管理者権限がない場合などでも使用することができます。
ただし、 XAMPP / MAMP はそのツール1つで1つのWebサーバーとして機能するタイプのツールとなっているので、制作会社のように複数の環境が必要でそれぞれでPHPのバージョンが異なるというような場合になると管理が複雑になってしまいます。
なので現在であれば前述の Local by Flywheel や Docker を使える環境であればそちらを使う方が良いと思います。
まとめ
用途別でWordPressの開発環境を作る際のツールをまとめました。
現時点ではとりあえずWordPressの環境が欲しい!ってなった場合は、 Local by Flywheel で良さそうだなぁと感じました。
他にも様々なツールがあるので、ツールごとの良し悪しを見極めて適材適所で使い分けできると良いなと思います。