从空值错误创建默认对象在旧的WP插件bp额外的注册


Creating default object from empty value error in old WP plugin bp extra signup

我有一行,抛出Creating default object from empty value错误在现在2年失效的bp-extra-signup插件buddypress

该行所在的函数是这样的:

/**
 * Declare our options
 * @since 1.0
 */
function globals()
{
    if( $options = get_option( 'bpxs_options' ) )
    {
        foreach( $options as $key => $var )
            $this->options->{$key} = $var;
    }
}

抛出错误的行是:

$this->options->{$key} = $var;

像许多其他人一样,我已经阅读了尽可能多的关于这个严格错误的重复问题,但无法解决如何在我的特定实例中处理它来修复它。

我主要看到关于NULL或空变量的问题,这是显而易见的,或者变量需要声明的地方,但这个问题超出了我的理解。为什么这一行抛出了一个错误?

首先,如果这个站点已经启动,您可以执行ini_set。

ini_set('display_errors', 0);
error_reporting(0);

你也可以试着加上:

ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED);
ini_set('display_errors','Off');

那么你也可以试着检查对象:

if( $this->options != null ) {
  $this->options->$key = $var;
}