WordPressでサイトを運営していると、ある日突然画面の上部に「Warning」というエラーメッセージが表示されることがあります。特に何も変更していないのに急に出現するため、多くの運営者が驚き、「サイトが壊れた!」と焦ってしまいます。
この記事では、突然表示されるWarningエラーの原因と、安全に非表示にする方法を詳しく解説します。
Warningエラーが突然出現する理由
1. レンタルサーバーの仕様変更
**ヘテムルやエックスサーバーなどの主要レンタルサーバーでは、セキュリティ強化のためファイルアクセス制限が突然厳しくなることがあります。**これにより、今まで問題なく動作していたファイル参照が急にWarningを引き起こすようになります。
2. PHPバージョンの自動更新
レンタルサーバーによっては、PHPのバージョンが自動的に更新されることがあります。特にPHP8では変数の初期化が厳格になったため、今まで問題なかった古いコードがWarningを表示するようになりました。
3. WordPressやプラグインの自動更新
WordPressの自動更新により、テーマやプラグインとの互換性に問題が生じ、Warningが表示されることがあります。
4. サーバー設定の変更
サーバー側でエラー表示設定(display_errors)が有効になると、今まで隠れていたWarningが急に見えるようになります。
wp-config.phpで安全にWarningを非表示にする方法
最も確実で安全な方法は、WordPressの設定ファイル「wp-config.php」を編集することです。
手順1: wp-config.phpファイルをダウンロード
- FTPソフト(FileZillaなど)またはレンタルサーバーのファイルマネージャーを開く
- WordPressがインストールされているフォルダにアクセス
- 「wp-config.php」ファイルを見つけてダウンロード
手順2: バックアップを作成
重要:編集前に必ずwp-config.phpのバックアップを作成してください。
手順3: wp-config.phpを編集
ダウンロードしたwp-config.phpをテキストエディタで開き、以下の行を探します:
define( 'WP_DEBUG', false );
この行を以下のコードに書き換えます:
// Warningを非表示にする設定
if (!defined('WP_DEBUG') || !WP_DEBUG) {
// Warningとnoticeを非表示
error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_RECOVERABLE_ERROR);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
// ログファイルのファイル名を指定(エラーは記録される)
ini_set('error_log', ABSPATH . 'error.log');
}
手順4: ファイルをアップロード
編集したwp-config.phpファイルを元の場所にアップロードします。
手順5: 確認
サイトを表示して、Warningエラーが消えていることを確認します。
この方法の利点
1. エラーログが残る
Warningは画面に表示されなくなりますが、error.logファイルに記録されるため、後で問題を特定して根本的に修正できます。
2. 安全性が高い
WordPressの標準的な設定方法なので、サイトの動作に悪影響を与えません。
3. レンタルサーバーに依存しない
php.iniファイルが編集できないレンタルサーバーでも使用可能です。
4. 一時的な対処が可能
根本的な修正を行うまでの間、サイトの見た目を正常に保てます。
注意点とベストプラクティス
根本的な解決を目指す
この方法はあくまで「表示を隠す」だけです。時間があるときに以下の対策を検討しましょう:
- プラグインの更新
- テーマの更新
- PHPバージョンの最適化
- 古いプラグインの代替手段検討
定期的なログチェック
error.logファイルを定期的に確認し、重要なエラーが発生していないかチェックしましょう。
バックアップの重要性
ファイル編集前には必ずバックアップを取得し、何かあった場合にすぐ復元できるようにしておきましょう。
まとめ
WordPressで突然表示されるWarningエラーは、レンタルサーバーの仕様変更やPHPバージョンアップデートが主な原因です。wp-config.phpファイルを編集することで、安全にエラー表示を非表示にできます。
ただし、これは一時的な対処法です。サイトの長期的な安定性のために、可能な限り根本的な原因を特定し、修正することをお勧めします。
エラーログはerror.logとして記録されるため、後で問題を把握して適切に対処できる点も、この方法の大きなメリットです。

