WordPressでテーマやプラグインを古い記述のまま本体、サーバ、PHPのバージョンをアップデートすると各所でエラーになるという事象を繰り返しているので今後の自分のための覚書。
原因はほぼPHP8の記述にしろという内容みたいです。
目次
Fatal error: Uncaught Error: Undefined constant "modified" in ~~
wp-content/themes/テーマ名/functions.php on line 82
テーマ内でエラー。modifiedを囲めというお叱りのよう。
変更前
'orderby' => modified,
変更後
'orderby' => 'modified',
Warning: Undefined variable $msg in ~~
指定している変数が定義されていない場合に発生するエラー。今回の場合は$msgを定義しろってことみたいです。
変更前
$msg .= 'ほにゃららら';
としていたので、その前に定義を加えた。
変更後
$msg = ''; $msg .= 'ほにゃららら';
参考:https://it-column.mjeinc.co.jp/archives/3513
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in~~
ちょっと厄介なエラーだった。preg_replaceまわりを調べてたら全然ちがうところが原因だった。
該当サイトでは「Lightning」テーマを利用していたんだけど、そのフッターの「Powerd by ~」を削除するために記述していたコードが原因。
変更前
add_filter( 'lightning_footerPoweredCustom' , function(){ return; } );
変更後
add_filter( 'lightning_footerPoweredCustom' , '__return_false' );
参考:https://qiita.com/taktakq/items/5ea66c3bae2f17214dff
returnのみの記述が良くなかったかも…。
参考:https://php4wordpress.calculator.jp/php/return-functions/