今回PHP8以上のサーバーでWordpress作業している際にでたエラーについてメモ&ご報告します
目次
何をしようとしたら出たのか
カスタム投稿のタクソノミータームをパーツで使用している箇所に出力する、
$post->ID;
という記述で以下の表示が出ました。
Attempt to read property “ID” on null
エラー概要
ざっくり言うと、『IDの定義が見つからないよ!』という警告のようでした。
PHPバージョンアップに伴い、記述の宣言なども厳しくなったようです。
解決方法
IDの定義を記述する
以下の記述をPHPファイル上部へ記述したところ改善しました。
global $post;
if ( is_null( $post ) ) { return; }
$post_id = $post->ID;
$postにはNULLが設定されており、『if〜』でこの投稿がNULLかどうかの判定を入れると改善します。
そのままにしておく
警告は管理画面へログインしたユーザーにしか見えないため、そのままにしておく
しかし今後のエラーでWordpressが動作しなくなる恐れがあるため、推奨していません!
PHPのバージョンが上がるごとに、記述内容によってはエラーが出たり表示されなくなったり、、こまめな確認が必要ですね!