最初に
「WordPressプラグイン開発のバイブル」は、いい本です。WordPressで開発をする人は是非買おう。
本に書かれていることを愚直に実施したときに、あれ?っと思った箇所をメモします。ほとんど自分自身のスキル不足が原因です。
実行環境
- Windows 7 (64bit)
- 「Wordpressプラグイン開発のバイブル」初版
- 2015年2月23日に実施
- 2015年2月24日追記:第10章の部分。
ハマったところ
【第3章】プラグインの開発環境を作る
Vagrantのインストール
インストール後、VCCWにてVagrantにセットアップされたOSにログイン使用とした時、初期パスワードがわからなかった。MySQLのID/Passは設定ファイルに記載されているのを見つけられたけど、OSへログインIDなどの記載は見つけられず。
正解は
ID: vagrant
Pass: vagrant
vagrantを使ってのインストールは初めてだったのでハマった。
ちなみにセットアップされるOSは、CentOS 6.6でした。
【第4章】プラグインの開発環境を作る
PHP_CodeSniffer関連
VCCWで作られた環境内でやろうとしたら、"permission denied (publickey) "と表示されてgit cloneできず。なんでcloneできないんだろと考えてもVirtualBoxとLANの2重NAT状態だからかなと想像したものの、解決できる手段がないので、別方法の解決方法を探ることに。
バイブル上には
$ git clone git@github.com:WordPress-Codeing-Standards/com:WordPress-Codeing-Standards.git ~
と書いてあるところを
$ git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git ~
に書き換えて実行。これでgit clone問題 解決。
WordPress-Coding-Standards が設定されてない
バイブルには
phpcs -p -s -v --standard=Wordpress my-plugin.php
とあるもののアレ?なんかエラーでる。調べてみたら登録が必要な模様。
phpcs --config-set installed_paths /path/to/wpcs
という感じの登録が必要だった模様。
参考サイト
* http://www.d-wood.com/blog/2014/09/12_6884.html)
* https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards
はじめてのプラグインを作る
ファイルヘッダを記述するのが思いの外 面倒。素直に3章で紹介されているプラグイン:Pluginceptionを利用するか、10章を先に読んでWP-CLIでプラグインのひな形を生成したほうが楽でした。
【第10章】 PHPUnitでプラグインのテスト駆動開発を行う
PHPUnitテスト用のWordPress環境を準備する(1)
WP-CLIでプラグインのひな形を作ったあとに、素のプラグインをPHPUnitでテストを実行しようとするところで、コマンドラインでPHPUnit専用のWordPressをインストールするところがあります。
$ bash bin/install-wp-test.sh ~
VCCWの再起動もなにもしていない状態で、このコマンドを実行した時、Wgetで最新版のWordPressを取得するタイミングで/tmp/wordpress.tar.gzにダウンロードできなくて止まってしまうようです。
/tmpをみると、ダウンロード済みのwordpress.tar.gzがrootユーザーでダウンロードされているため、パーミッションのエラーが発生してるようです。同じく/tmp/wordpress-tests-lib/以下もrootユーザーで作成されているのでパーミッションエラーが発生します。
おそらく、VCCWのセットアップ時にroot権限でダウンロードされたものだと思いますので、ざっくりと/tmp/wordpress.tar.gzや/tmp/wordpress-tests-lib/をsudo rm -rf /tmp/wordpress*
などで削除したほうがスムーズに進められるかも。
PHPUnitテスト用のWordPress環境を準備する(2)
ページ順に手を動かして学習しているとP223で、PHPUnitテスト用のWordPress環境を準備することになりますが、その後の10章4項の「ショートコードプラグインをテスト駆動開発で作る」の中でも同じことをしています。VCCWを使っている場合、VCCWにそって話を進めている10章4項でチャレンジすることをおすすめします。
終わりに
まだプラグインを作るところまで進んでいません。ちょっとずつ読み進めていきたい所存。