WordPressでエラーログを非表示にする方法

目次

WordPressを運用していると、以下のような警告メッセージが表示されることがあります。

Warning: Undefined array key "stampName" in /home/bluebear-ltd/subestamp.com/public_html/wp-content/plugins/wp-customer-reviews/wp-customer-reviews-3.php on line 672

これは、配列のキーが定義されていない場合に発生するPHPのWarningメッセージです。開発環境では有益な情報ですが、本番環境では表示させたくないですよね。

そこで今回は、WordPressでこのようなエラーメッセージを非表示にする方法を紹介します。


方法1:wp-config.phpの設定を変更する(おすすめ)

WordPressの設定ファイル wp-config.php に以下のコードを追加または変更することで、エラーメッセージを非表示にできます。

define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

解説

  • WP_DEBUGfalse にすることで、WordPressのデバッグモードをオフにする。
  • WP_DEBUG_DISPLAYfalse にすることで、画面にエラーメッセージを表示しない。
  • @ini_set('display_errors', 0); でPHPのエラーメッセージを非表示にする。

この方法は WordPress全体に適用 されるため、サイト運営においてもっとも安全な設定です。


方法2:functions.phpでエラーレポートを調整する

テーマの functions.php に以下のコードを追加すると、特定のエラーレベル(WarningNotice)を非表示にできます。

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
@ini_set('display_errors', 'Off');

解説

  • E_ALL & ~E_NOTICE & ~E_WARNING で「Notice(通知)」と「Warning(警告)」を除外。
  • @ini_set('display_errors', 'Off'); で画面にエラーメッセージを出力しない。

この方法は テーマごとに適用 されるので、テーマが変わると再設定が必要になります。


方法3:プラグインのコードを修正する(非推奨)

警告が発生している wp-customer-reviews-3.phpline 672 を修正することで、エラーを回避できます。

修正前

$stampName = $array['stampName'];

修正後

$stampName = isset($array['stampName']) ? $array['stampName'] : '';

または @ を使ってエラーを無視する(非推奨):

$stampName = @$array['stampName'];

注意点

  • プラグインのアップデートで修正が上書きされるため、推奨されません
  • プラグイン開発者に報告し、公式の修正を待つ方がベターです。

方法4:.htaccessでエラーメッセージを非表示にする

.htaccess に以下のコードを追加すると、PHPのエラーメッセージを非表示にできます。

php_flag display_errors Off
php_value error_reporting 0

注意点

  • .htaccess の変更は、サーバー全体に影響を与える 可能性があります。
  • レンタルサーバーによっては、この設定が無効な場合があります。

どの方法を選ぶべきか?

方法適用範囲おすすめ度
wp-config.php の設定変更WordPress全体⭐⭐⭐⭐⭐
functions.php に追加テーマ単位⭐⭐⭐
プラグインのコードを修正一部プラグインのみ
.htaccess の変更サーバー全体⭐⭐

一番安全で簡単な方法は wp-config.php の変更 です。


まとめ

本番環境では不要なエラーメッセージを非表示にして、快適なサイト運営をしましょう!

wp-config.phpWP_DEBUGfalse にするのがベスト

✅ テーマ単位で制御したいなら functions.php を使う

✅ プラグインのコード修正は非推奨

.htaccess の変更はサーバーの設定に依存

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です