WordPress用のVagrant環境VCCWが大幅にパワーアップしました。

WordPress用のVagrant環境「VCCW」に、最近いくつかの新機能を加えましたので、まとめて紹介します。

なお本日現在のVagrantの最新版1.6は、Vagrant側の不具合により動作しませんので、1.6.1のリリースを待っていただくか、1.5.4を使用してください。

はっきりとアナウンスしていませんでしたが、Windows環境でも動作します。

改善

サイトを作りましたー。

ただし英語です。今後細かいアップデートは以下のサイトでアナウンスしていきます。

http://vccw.cc/

vagrant-hostsupdaterプラグインについて

Windowsユーザーさんから、hostsファイルに対する書き込み権限に関する質問がすごーく多かったため、ひと思いにこのプラグイン無しでも動くようにしました。笑

Boxの変更

Boxをchef/centos-6.5-i386というやつに変えました。

Vagrantfileを以下のように変えていただくと64bit版のCentOSにすることもできますので、64bitのOSをご利用の方はそのほうがプロビジョニングが数分早く完了するようです。

修正前:

VM_BOX               = "chef/centos-6.5-i386" # for 32bit
# VM_BOX               = "chef/centos-6.5" # for 64bit

修正後:

# VM_BOX               = "chef/centos-6.5-i386" # for 32bit
VM_BOX               = "chef/centos-6.5" # for 64bit

Windowsのサポートについて

現在のVCCWはWindowsでも動作確認ができています。

ただし、msysgitなどの一部のWindows用のGitクライアントが、git cloneなどをする際に改行コードをCRLFに変換してしまうらしく、その場合はChefのクックブックを実行する際にエラーが出ます。

Gitクライアントの設定を変更いただくか、以下のサイトから.zipをダウンロードして、そこからvagrant upしてください。

新機能

WordPress i18n Tools

テーマやプラグインの翻訳をしたいときに.potというファイルを作る必要があるんですが、これを使用すると以下のようなコマンドを使用するだけで簡単に作成できます。

$ cd /var/www/vhosts/i-70b33683wp-content/themes/some-theme
$ makepot.php wp-theme .

PoeditのPro版でも同じぐらい簡単に作れますが、Poeditではプラグインやテーマのメタ情報の抽出まではサポートしていませんが、この方法ならそれらも抽出することが可能です。

Gruntテンプレートをプリインストール

プラグインやテーマの開発を超簡単に始めるためのGruntテンプレートをプリインストールしました。

$ cd /var/www/vhosts/i-70b33683wp-content/plugins
$ mkdir my-plugiun
$ cd my-plugin
$ grunt-init hatamoto

最後のgrunt-init hatamotoを実行すると、プラグイン名などの入力を求めるプロンプトが表示されます。

それらに答えていくだけで、プラグインの元ネタが自動的に生成されます。

テーマなら以下のような感じ。

$ cd /var/www/vhosts/i-70b33683wp-content/themes
$ mkdir my-theme
$ cd my-theme
$ grunt-init iemoto

テーマは_sベースのテーマが自動的に生成されます。

詳しくは以下のサイトを御覧ください。

PHPUnitのプリインストール

PHPUnit及びWordPress用のUnitテストフレームワーク及びテストに使用するためのデータベースとWordPress環境をプリインストールしました。

任意のプラグインのディレクトリに移動して以下のようなコマンドを打つとすぐにユニットテストを実行できます。

$ cd /var/www/vhosts/i-70b33683wp-content/plugins/my-plugin
$ wp scaffold plugin-tests
$ phpunit

WordPressプラグインのユニットテストについては、以下のサイトなどが参考になります。

Simple Mapプラグインにも仕込んでありますので、これを参考にしていただくのもいいかもしれません。

https://github.com/miya0001/simple-map

PHP_CodeSnifferのプリインストール

以下の記事で紹介したコーディングスタンダードに準拠しているかどうかをチェックするためのツールをプリインストールしました。

PHP_CodeSnifferを使ってWordPressのプラグインやテーマがコーディングスタンダードに準拠しているかチェックする

コマンドにエイリアスを仕込んでいますので、以下のように簡単にチェックできます。

$ wpcs /path/to/foo.php