WordPressテーマ「JIN」でPHPのバージョンを8.2に上げたときに出るエラーです。
カテゴリーページに出てくるエラー
Warning: Undefined array key "cps_none_labeling_act" in /home/hogehoge.co.jp/public_html/wp-content/themes/jin/category.php on line 58
Warning: Trying to access array offset on value of type null in /home/hogehoge.co.jp/public_html/wp-content/themes/jin/category.php on line 58
目次
JINのUndefined array keyエラーの原因と解決方法
以下、解説です。
エラー内容
PHP8.0以降で導入された厳密な型チェックにより、以前はNoticeレベルだった配列キー未定義のアクセスが、Warningに昇格しました。
Warning: Undefined array key "cps_none_labeling_act" in /home/hogehoge.co.jp/public_html/wp-content/themes/jin/category.php on line 58
Warning: Trying to access array offset on value of type null in /home/hogehoge.co.jp/public_html/wp-content/themes/jin/category.php on line 58
これは、$_GET
や $_POST
、または カスタムフィールドで保存された配列の中に、想定していたキーが存在しないことが原因で発生します。
原因
このエラーは、主に以下のようなケースで発生します。
$_POST['キー名']
や$array['キー名']
のように、存在が保証されていないキーに直接アクセスしている- 特にPHP8.1以降では、未定義キーにアクセスした場合にWarningが出る仕様になった
- WordPressテーマやプラグインが古いPHP仕様のまま書かれている
解決方法
カテゴリーページの編集画面から空保存(更新)するとWarningが消えます。
JINのアップデート情報
後続のWordPressテーマ「JIN:R」がリリースされましたので、JINのアップデートは2024年の5月で止まっています。
できれば現在もメンテナンスされるWordPressのテーマに変更することをおすすめします。