I believe the trigger is a customized widget that has been constructed incorrectly. Check out this instance from the Codex:
class My_Widget extends WP_Widget {
/**
* Units up the widgets title and many others
*/
public operate __construct() {
$widget_ops = array(
'classname' => 'my_widget',
'description' => 'My Widget is superior',
);
mother or father::__construct( 'my_widget', 'My Widget', $widget_ops );
}
What loads of poorly constructed plugins do is that this:
class My_Widget extends WP_Widget {
/**
* Units up the widgets title and many others
*/
public operate __construct() {
mother or father::__construct();
}
Or they fail to incorporate a __construct
methodology in any respect! Passing no parameters or not having a constructor is inaccurate. Previous variations of PHP could have substituted these values for null
or undefined, resolving to
”`, however I might nonetheless have anticipated this to turn into an issue earlier than upgrading to eight.1, and it could definitely have appeared within the error log as a discover.
So determine which plugin or theme is liable for this, both with stack traces, or a technique of elimination, even perhaps by doing a search of the codebase with a device.
If that is in code that you just preserve akin to a customized theme or plugin, you possibly can resolve the problem by implementing the Widget API appropriately because the Codex and the devhub handbooks instruct. Particularly, by offering the primary two parameters.
In the event you’re not eager about fixing the widgets, you may also take away them out of your website fully.
Within the meantime, downgrade to eight.0 for a short while. Each 8.0 and eight.1 are at the moment supported variations of PHP and receiving updates. WordPress has but to construct official assist for 8.0, and eight.1 is a really current launch ( early 2022 ), so it is unsurprising you encountered compatibility points and clashes with third get together code whenever you upgraded.