WordPress(ワードプレス)で突然Warningエラーが表示されて戸惑ったことはありませんか?
この記事では、Warningエラーの原因と具体的な対処法をわかりやすく紹介します。
Warningエラーの表示と原因
WordPress(ワードプレス)で、下記のようなWarningエラーが画面上に表示されてしまうことがあります。
Warning: Undefined variable $post_id in /home/xxxxxxxxxxx/wporz.com/public_html/wp-content/themes/affinger-child/xxxxxxxxxxx/xxxxxxxxxxx.php on line 57
Warning: Undefined variable $html_content in /home/xxxxxxxxxxx/wporz.com/public_html/wp-content/themes/affinger-child/xxxxxxxxxxx/xxxxxxxxxxx.php on line 105
「自作のプログラム」をはじめ「ワードプレステーマ」、「プラグイン」でも表示される可能性があります。
エラーの原因
原因は、PHPバージョン8では、変数の初期化が必要になるため、初期化されていない変数がある場合にWarningエラーが発生するようです。
例えば、サーバーのPHPバージョンを7から8に切り替えると、突然発生する可能性があります。
なお、Warningは軽度のエラーのため、無視しても大丈夫なエラーではあります(サイトが停止してしまうことはありません)。
Warningに対処法
このPHPのWarningエラーの対処方法は3つあります。
- ①エラーを解消する
- ②サーバーのphp.iniを書き替えて非表示にする
- ③ワードプレスのwp-config.phpで非表示にする
①エラーを解消する
もし、自作プログラムで表示されている場合は、変数を利用する前に「初期化」してあげればいいだけです。
前述のエラーでいうと、「Undefined variable $post_id」と「Undefined variable $html_content」でWarningがでているので、以下のように記述します。
$post_id = ''; $html_content = '';
これでWarningが消えます。
②サーバーのphp.iniを書き替えて非表示にする
テーマやプラグインがエラーになっている場合は、最新にアップデートすると表示が消える可能性があります。
最新でも表示されている場合は、サーバーのphp.iniを書き換えることで非表示にできます。
例えば、シンレンタルサーバーでは、サーバーでphp.iniの設定ができるため、サーバーパネルから変更できます。エックスサーバーでも仕様は同じなので、同じ方法で変更できます。
まず、サーバーパネルにアクセスして「php.ini設定」を選択します。
php.ini設定の「詳細設定」をクリックします。
エラー設定の「display_errors」を「OFF」にして、設定を保存します。
プログラムファイルを編集できない場合はこの方法が便利です。
③ワードプレスのwp-config.phpで非表示にする
最後が方法が、WordPressの「wp-config.php」ファイルに以下のコードを記述する方法です。
ini_set('display_errors','Off');
これでもWarningエラーを非表示にできます。
なお、②と③の方法は、Warningを非表示にしているだけで根本的な問題解決ではないので注意してください。
まとめ
以上、WordPressでWarningエラーが表示された際の対処法について紹介しました。
エラーの原因は、PHPバージョンの違いや変数の初期化不足が主な理由です。
対処法としては、「①Warningを解消するためのコード修正」が一番よいのですが、変更できない場合は、「②サーバーのphp.iniファイル編集」がおすすめです。
自身の状況に合わせて、最適な方法を選んで対応しましょう。