WordPressのデバックモード

wordpress,Web開発

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」にログファイルが書き出されます。

あとは呼び出し元と想定される場所に埋め込めば、その関数が呼ばれているかどうか確かめる事ができます。

Print Friendly, PDF & Email