WordPress│管理画面に表示せずにエラーログを出力する方法

WordPressでエラー調査を行う際、管理画面やフロント画面にエラーを表示せず、ログだけに出したい
というケースは非常に多くあります。

本記事では、そのための定番設定と仕組みを解説します。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

管理画面にエラーを出さず、ログだけ取得する設定

wp-config.php に以下のコードを追加します。

※functions.phpではできません、FTPまたはプラグインのファイルマネージャーからアクセスができます。

define('WP_DEBUG', true);
if ( WP_DEBUG ) {
	define('WP_DEBUG_LOG', true);
	define('WP_DEBUG_DISPLAY', false);
	@ini_set('display_errors', 0);
}

この設定により、エラーは画面に表示されず、ログファイルにのみ記録されます。

各設定の意味

以下、解説です。

WP_DEBUG

define('WP_DEBUG', true);

WordPressのデバッグモードを有効化します。

これを true にしない限り、WordPressのエラーログ機能は動作しません。

WP_DEBUG_LOG

define('WP_DEBUG_LOG', true);

PHPエラー・Warning・Notice などをwp-content/debug.log に出力します。

※ ファイルが存在しない場合は自動生成されます(書き込み権限が必要)。

WP_DEBUG_DISPLAY

define('WP_DEBUG_DISPLAY', false);

エラーを画面上に表示しない設定です。

  • フロントページ
  • 管理画面(wp-admin)

どちらにもエラーが表示されなくなります。

display_errors の無効化

@ini_set('display_errors', 0);

PHPの設定レベルでも強制的に
画面表示をOFFにしています。

サーバー設定によって WP_DEBUG_DISPLAY が効かない場合の保険として有効です。

エラーログの保存先

通常、エラーは以下に出力されます。

/wp-content/debug.log

このファイルを確認することで、どのテーマ・プラグイン・ファイルでエラーが起きているかを把握できます。

この設定で検知できるエラー範囲

  • アクセスされたページのPHPエラー
  • 管理画面操作時のエラー
  • Ajax / REST API 実行時のエラー
  • wp-cron 実行時のエラー

※ 実行されない処理(未アクセスページなど)のエラーは検知されません。

本番環境での注意点

WP_DEBUG = true のまま運用すると、

  • ログが肥大化する
  • 内部構造がログに残る

といったリスクがあります。

エラー調査が終わったら必ず無効化しましょう。

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

まとめ

  • 画面にエラーを出さず、安全に調査したい場合に最適
  • debug.log を確認するだけで原因特定がしやすい
  • 調査用途として定番かつ実用的な設定

WordPressのエラー調査では、まずこの設定を入れるのが基本です。

  • URLをコピーしました!

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressのエラー・不具合対応のサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次