WordPress

サーバのPHPを 8.2 へアップデート 完了

保留していた PHP8.2 へのアップデート ですが、「Uncaught ArgumentCountError」が発生する原因と言うか修正方法が判明したので、アップデートしてみました。PHPのバージョンは現時点で最新の8.3.21です。

 

前回の 「/******/wp-includes/class-wp-widget-factory.php」の修正では、原因となっている widget のプラグインそのままに暫定対処の形で、Wordpress がバージョンアップすると修正したファイルも書き戻されてしまうので、根本的な解決にはならず。

そこで、問題となっているプラグインそのものを修正です。

エラーメッセージをよく見ると、問題が発生している widget のプラグインがわかるのでプラグインのソースを開いて widget のクラスのコンストラクタの記述を修正するだけ

修正前

class myWidget extends WP_Widget {
    function myWidget() {
      parent::__construct(false, $name = 'myWidget',array("description"=>;"myWidget"));
    }
    :
}

修正後

class myWidget extends WP_Widget {
    function __construct() {
        parent::__construct(false, $name = 'myWidget',array("description"=>;"myWidget"));
    }
    :
}

function myWidget() の記述を function __construct() に書き換えれば OK
あと、add_action() create_function を使っている場合は、合わせて無名関数に書き直す必要ありです。


コメントを残す