WordPressのテーマやプラグイン開発で行うテスト方法いろいろ

テーマの作り方とかプラグインの作り方については、いろんなところで紹介されてますが、デバッグなどのテストに関する方法については、意外と情報が少ないですよね。

今回は、WordPressでテーマやプラグインを作る際のテストの方法について、私がやってるものをご紹介します。

WP_DEBUG

これは基本中の基本。

テーマやプラグインを開発する際にはテスト環境のwp-config.phpに以下の行を入れて、警告が出ないことを確認しましょう。

define("WP_DEBUG", true);

開発をしてない人でも、プラグインやテーマをインストールするときには、これを一時的に有効にして警告が出ないものだけを使うことをおすすめします。

ただし本番環境では無効にしておきましょう!

SAVE_QUERIES

SQLが怪しい時に、以下の1行をwp-config.phpにいれておくと、$wpdb->queries にすべてのSQLが保存されます。

define("SAVE_QUERIES", true);

プラグインと組み合わせると、パフォーマンスチェックに便利です。

WordPress界隈で有名なおじさん二人が奨めてるんだから使わないとしょうがない。笑

ちなみに、このオプションも本番環境では無効にしておきましょう。たぶんメモリ消費が尋常じゃないと思います。

theme-checkとplugin-checkプラグイン

このブログでも以前に紹介しましたが、この2つのプラグインも私の作業では必須のプラグインです。

これらのプラグインを使うと互換性やセキュリティに問題のある関数などをチェックしてくれるので、サードパーティーのプラグインを使用する際には必ずチェックすることをお勧めします。

公式ディレクトリで配布されていない野良テーマでは、不正なコードが埋め込まれてることが良くあるので、そういうテーマを使う際には、必ずtheme-checkでテストしましょう。

私は、普段は無効化しておいて、使うときだけ有効化するってパターンの使い方をしています。

Core Controlプラグイン

実は今日知ったばかりのプラグインなんですが、なかなか良さげだったのでご紹介。

WordPress › Core Control « WordPress Plugins

このプラグインは、コアやプラグインの自動アップデートに必要な機能がサーバーで使用可能かどうかを確認するためのプラグインです。

で、phpから外部へのftpアクセスとかfsockopen()とかを無効化したり、外部へのアクセスをログに残す機能もあります。

マルウエアなどが仕込まれてたら、その犯人探しに役立つかもしれません。
(そもそも怪しいプラグインやテーマは、plugin-checkとかtheme-checkでチェックしようねって話ですけど。)

また、wp-cronのタスクを即時実行できるので、プラグイン作者としてはコミットしたプラグインのアップデートを手っ取り早く確認できるので重宝しそうです。

賛否両論ありそうですが、これは一応常時有効化しておこうかな。

テーマユニットテスト

これも、このブログで以前に紹介しましたが、テーマの見た目をチェックするためのテストです。

WordPressでテーマを作る際のテーマユニットテストのススメ | firegoby

これはプラグインではなくて、インポート用データを開発中のテーマにインストールすることで、記事とか固定ページとか投稿フォーマットなど、WordPressの多様な機能によって出力されるあらゆるページのCSSを、順番に確認していくことができます。

地味なテストなんですが、もぐら叩きになりがちなCSSの作業も、これをつかえばかなり楽になりますので、テーマの開発にはぜひおすすめします。

 まとめ

WordPressは豊富なプラグインやテーマが最大の魅力なんですが、その中には当然不届きなものが存在します。

いちいちデバッグモードを有効化したりしてテストを行うのは一見面倒に感じるかもしれませんが、WEB開発の現場ではほとんどの時間をテストに費やしてます。

なので、ここで紹介したようなツールを使用すると、劇的にスピードアップしますよ。