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_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付属の「コンソール」というアプリケーションで表示させています。マーカーを途中で入れられるので便利。
他にも定数がありますので、Codexも参考にしてみてください。
- 本家Codex: Debugging in WordPress
※エラーがログファイルに記録されるということは、気をつけないとファイルが肥大化していきますので、気になる方はこまめに削除しましょう。