WordPressのデバッグモード

WordPressでサイトを構築したり、テーマやプラグインの開発を行うときに便利なのが「デバッグモード」

通常、PHPのエラーなどはサーバーのログに記録されますが、WordPressの場合、デバッグモードを有効化するだけで、サーバーのログを見なくてもエラー内容を確認できます。

今回は便利なデバッグモードの使い方を紹介します。

基本的な使い方

WordPressをインストールしたディレクトリ内にある wp-config.php をテキストエディタで編集します。

日本語版であれば78行目以降に以下の記述があります。

/**
* 開発者へ: WordPress デバッグモード
*
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*/
define('WP_DEBUG', false);

この define('WP_DEBUG', false);define('WP_DEBUG', true); にするだけでデバッグモードが有効化されます。

エラーがあるとブラウザ上にエラー内容が表示されます。

WP DEBUG1
ブラウザ上で確認できる

もうちょっと便利な使い方

デバッグに関する定数は他にもあります。

WP_DEBUG_LOG

有効化すると /wp-content/ ディレクトリに debug.log が作成され、そのファイル内にエラー内容が記録されます。

WP_DEBUG_DISPLAY

有効化するとエラー内容をブラウザ上に表示します。

これら二つの定数を組み合わせると、エラー内容をログファイルにのみ記録することが可能です。
「エラー内容は確認したいけど、ブラウザでは表示したくない!」という場合に便利なのではないでしょうか。

ちなみに私は以下のようにしています。

define('WP_DEBUG', true); // デバッグモードを有効化
if (WP_DEBUG) { // デバッグモードの時だけ
	define('WP_DEBUG_LOG', true); // debug.log ファイルに記録
	define('WP_DEBUG_DISPLAY', false); // ブラウザ上に表示しない
	@ini_set('display_errors',0); // ブラウザ上に表示しない
}

さらに、ローカル(MAMP)で開発しているときはdebug.logをOS付属の「コンソール」というアプリケーションで表示させています。マーカーを途中で入れられるので便利。

Mac OS X 付属のアプリケーション「コンソール」

他にも定数がありますので、Codexも参考にしてみてください。

※エラーがログファイルに記録されるということは、気をつけないとファイルが肥大化していきますので、気になる方はこまめに削除しましょう。