色々調べてみて情報がなかったので備忘録。
WordPressのテーマ「THE THOR」におけるエラー。
THE THORは、日本の会社が作成しており、インフィード広告の設定ができたりPWA対応だったりと多彩な機能が魅力のテーマ。メディアサイトを運営しているクライアントからの評判も非常に高い本テーマだが、先日ちょっとしたエラーが発生した。
ユーザー情報の「役職 / 所属」がおかしなことになる
このテーマの機能の一つとして、ユーザー登録情報が一部拡張がある。ユーザー名・ニックネーム等、WordPressの標準項目以外に、「役職/所属」という項目があるのだ。
ここに、「ライター」とか「エンジニア」等の役職を入れることができ、サイト上の「この記事を書いた人」の箇所に役職の表示ができる。
ただ、この機能について、「Warning: Attempt to read property」というエラーが出る という問い合わせがあった。
ユーザー登録画面もおかしなことに
管理画面を見てみると、ユーザー編集項目もおかしなことに。
ユーザー情報の役職に
/home/xxxxxx/xxxxxx.jp/public_html/xxxxxxw.jp/wp-content/themes/the-thor/inc/admin/user.php on line 24
” class=”regular-text” />
という表示が。
原因はPHPのVerが8.0.16だったこと
「Attempt to read property」で色々調べてみると、このPHPエラーはアロー演算子でプロパティ値を取得しようとする際に、存在しないプロパティを指定すると発生するエラーのよう。
存在しないプロパティを指定された時のエラー判定がPHP Ver.8以上で従来より厳格になったことが原因とのこと。
PHPのVer.を7に戻して解決
理由がわかったのでVer.を7に戻したところ、この問題は解消した。
テーマファイルをカスタマイズすればVer.8でも対応できるようになるのかもしれないが、既存のテーマだったので下手に弄って色々おかしくなることを懸念して、今回は断念。
テーマ開発会社によるアップデートまでは、PHPのバージョン変更で対応しよう。