WordPressエラー:Creating default object from empty value 対処メモ

WordPress の動作PHPバージョンを 7.3 から 7.4 に更新した際、ページ上部に

Warning: Creating default object from empty value in ○○/wp-content/plugins/widgetize-pages-light/include/otw_labels/otw_sbm_grid_manager_object.labels.php on line 2

といったエラーメッセージが常に表示されるようになってしまったので、対処方法をメモしました。

WordPressでのエラー:Warning: Creating default object from empty value in ○○/wp-content/plugins/widgetize-pages-light/include/otw_labels/otw_sbm_grid_manager_object.labels.php on line 2

上記画像のように、警告メッセージがWebサイトやWordPress管理画面に常に表示されてしまいます。

これはWordPressにログインしていない第三者にも同様に表示されてしまうため、今回エラーを解消して非表示にしました。

対処方法

エラーメッセージから何のファイルが原因で警告(Warning)が表示されているか見てみます。

○○/wp-content/plugins/widgetize-pages-light/include/…

という記述なので、今回の場合 WordPress のプラグイン「Widgetize Pages Light」の特定のファイルが原因のようです。

プラグインが原因だと分かったので、プラグイン自体を更新してみます。

 

更新後、ページを再表示したら無事エラーメッセージは消えました。

Warning: Creating default object from empty value エラー表示を非表示にできた結果

 

このように、エラーメッセージに「plugins/○○」とあればその「○○」がエラーメッセージの原因になっているので、該当プラグインを更新することでエラーが解消してくれる場合があります。

 

原因

→ PHPバージョン更新により、プラグイン内で使用されているPHPコードの古い記述に警告が入るようになった

エラー発生直前に WordPress の動作PHPを更新しましたが、PHP のバージョンを上げると以前は許されていたコードの書き方に新しく警告が追加される場合があります。

プラグインで使用されているPHPコードの書き方が古いと今回のように警告が表示されますが、これを非表示にするにはプラグイン製作者さんがプラグインのPHPコードを書き直す必要があります。

ちゃんと頻繁に更新されるプラグインであれば製作者さんがPHPコードの問題に常に対処してくれているため、プラグインを最新版にアップデートするだけで今回のようにエラーが解消します。

しかし更新の途絶えた古いプラグインではPHPコードを製作者さんが直してくれないため、自前でエラー発生箇所を修正する必要があります。

 

自分で修正できない場合、諦めてそのプラグインを無効化(削除)する必要があります。

動作PHPを以前のバージョンに戻せばエラーは確かに解消されますが、古いバージョンのPHPで WordPress を動かし続けるのはセキュリティ的にあまりよろしくないので…。

記事化前の最新情報はこちらで先にツイートしています。サイト更新告知もこちら。