WordPress のテーマ、プラグイン開発のためのデバッグ設定や Tips について、ここにまとめていこうと思います。
1. wp-config.php の設定
WP_DEBUG
- まず、何はなくともこの定数を
true
にします。 - この設定だけを有効にする場合、
error_reporting( E_ALL )
が設定されるだけのようです。 - しかし、この設定を有効にしないと、後に挙げる定数による設定が有効になりません。
設定例
define( 'WP_DEBUG', true );
WP_DEBUG_LOG
wp-content/debug.log
にエラーが出力されるようになります。error_log()
関数による出力も、このファイルに出力されます。
設定例
define( 'WP_DEBUG_LOG', true );
ある変数の中身を見たい場合に、error_log()
関数が使えます。
配列やオブジェクトの中身を出力したい場合は、以下のようにするとよいでしょう。
// 配列の中身を出力する
error_log( var_export( $array, true ) );
// オブジェクトの中身を出力する
error_log( var_export( $object, true ) );
WP_DEBUG_DISPLAY
- デバッグメッセージを画面に表示するかどうか設定します。
- デフォルトでは
true
になっています。 - 「エラーはログファイルで見る(
WP_DEBUG_LOG
を true にして)ので、画面には余計な表示はして欲しくない」といった場合には、false
を指定しましょう。 - また、デバッグ用プラグイン(Query Monitor など)を入れている場合は、そちらでこの設定値が上書きされることがあります。
設定例(無効にする場合)
define( 'WP_DEBUG_DISPLAY', false );
2. デバッグ用プラグイン
3. 参考
- Debugging in WordPress « WordPress Codex
- load.php in tags/4.9.2/src/wp-includes – WordPress Trac
WP_DEBUG
に関連する部分のソースコード