WordPressでデバッグログを出力する

WordPressのテーマやプラグインを開発していると、変数の中身や関数の戻り値を確認することが多いと思います。
基本的にはPHPのvar_dump関数を実行すればブラウザで確認できますが、リダイレクトが伴う場合など、思うように結果が得られないケースがあります。

この場合、デバッグログを出力すると確認できるようになるので、その方法を紹介します。

デバッグログを出力する方法

wp-config.phpにWP_DEBUGという定数を定義している箇所があるので、trueを指定します。
また、新しくWP_DEBUG_DISPLAYWP_DEBUG_LOGを定義します。

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );

以上でログファイルに出力される設定になったので、page.phpで実際にログを出力してみましょう。

$sports = array('soccer', 'tennis', 'rugby');
ob_start();
var_dump($sports);
$out = ob_get_clean();
error_log($out);

固定ページを表示すると、wp-contentディレクトリ直下にdebug.logというログファイルが作成され、変数の中身が確認できます。

array(3) {
  [0]=>
  string(6) "soccer"
  [1]=>
  string(6) "tennis"
  [2]=>
  string(5) "rugby"
}

気をつけること

環境にもよりますが、debug.logはブラウザからもアクセスできるので、本番環境では使わないようにしましょう。

コメント