WordPressのデバックモード
WordPressのあるページが呼び出しているPHPが一体何なのか調べたい時は多々あります。
そんな時に簡単に調べる方法を紹介します。
設定方法
WordPressをインストールしたディレクトリ内にある wp-config.php をテキストエディタで編集します。
一番後ろの方の「WP_DEBUG」の定義を「false」から「true」に
/**
* 開発者へ: WordPress デバッグモード
* (~中略~)
*/
define('WP_DEBUG', true);
また、デバッグに関する定数は他にもあります。
WP_DEBUG_LOG | 有効化すると /wp-content/ ディレクトリに debug.log が作成され、そのファイル内にエラー内容が記録されます。 |
---|---|
WP_DEBUG_DISPLAY | 有効化するとエラー内容をブラウザ上に表示します。 |
これら二つの定数を組み合わせると、エラー内容をログファイルにのみ記録することが可能です。ちなみに私は以下のようにしています。
wp-onfig.phpに以下を記述
define('WP_DEBUG', true); // デバッグモードを有効化
if (WP_DEBUG) { // デバッグモードの時だけ
define('WP_DEBUG_LOG', true); // debug.log ファイルに記録
define('WP_DEBUG_DISPLAY', false); // ブラウザ上に表示しない
@ini_set('display_errors',0); // ブラウザ上に表示しない
}
function.phpに以下を記述
if(!function_exists('_log')){
function _log($message)
{
if (WP_DEBUG === true)
{
if (is_array($message) || is_object($message))
{
error_log(print_r($message, true));
} else {
error_log($message);
}
}
}
}
使い方
以下のコードを記述すると自身でデバックログを出力できます。
_log("ここにメッセージを指定します");
これで「wp-content/debug.log」にログファイルが書き出されます。
あとは呼び出し元と想定される場所に埋め込めば、その関数が呼ばれているかどうか確かめる事ができます。