数年前にHPの製作をした企業から問い合わせフォームの改修を依頼されて引き受けたものの、当然のごとくWordPressのバージョンやプラグインも数年間まったく変わってなく、PHPも7のためプラグインも導入すらできないという状況でした。
念のためバックアップを取ってWordpresのバージョンを更新していよいよPHPも8に更新したのですが、思いっきりエラーが出ました(>_<) 管理画面もエラーになって焦りましたがPHPを戻したら復帰しました。 エラーを見ていくとwidgetのphpファイルが悪さをしているようです。 エラーがあったのはwigetフォルダ内のad.php、category_list.php、google_search.php、styled_post_list1.phpの4つでした。
ad.php
元の記述
add_action(‘widgets_init’, create_function(”, ‘return register_widget(“ml_ad_widget”);’));
修正後の記述
add_action(‘widgets_init’, function(){register_widget(‘ml_ad_widget’);});
category_list.php
元の記述
add_action(‘widgets_init’, create_function(”, ‘return register_widget(“tcdw_category_list_widget”);’));
修正後の記述
add_action(‘widgets_init’, function(){register_widget(‘tcdw_category_list_widget’);});
google_search.php
元の記述
add_action(‘widgets_init’, create_function(”, ‘return register_widget(“google_search”);’));
修正後の記述
add_action(‘widgets_init’, function(){register_widget(‘google_search’);});
styled_post_list1.php
元の記述
add_action(‘widgets_init’, create_function(”, ‘return register_widget(“styled_post_list1_widget”);’));
修正後の記述
add_action(‘widgets_init’, function(){register_widget(‘styled_post_list1_widget’);});
落ち着いて対処していけば大丈夫
テーマの方を更新すればおそらく問題なくPHP8に対応できていたと思うのですが、
テーマを結構がっつり変えているのと、ずいぶん前に作った物なので下手に手を入れたくなかったので、必要最小限のエラー箇所のみを改修するにとどめました。
あまり需要はなさそうですが、とりあえず備忘録や困ったときの手助けになればと思います。
コメント