Wordpress 4.7 call_user_func_array()

时间:2016-12-13 03:09:44

标签: php wordpress wordpress-4.7

更新到WordPress 4.7,并且在我启用了一个自定义插件时收到此错误:

( ! ) Warning: call_user_func_array() expects parameter 1 to be a valid callback, no array or string given in /home/vagrant/Sites/wordpress/wp includes/class-wp-hook.php on line 298

我也启用了调试功能:enter image description here

我不确定问题是什么,因为堆栈跟踪似乎相当神秘。有关可能破坏插件的内容或如何诊断问题的任何建议?

1 个答案:

答案 0 :(得分:5)

正如@Afzal所说,这一行存在问题:

add_action('plugins_loaded', $this->plugin_update());

我们可以通过这个简单的例子复制你得到的错误:

class Test
{
    public function init()
    {
        add_action( 'plugins_loaded', $this->plugin_update() );
    }

    public function plugin_update()
    {
    }
}

$obj = new Test;
$obj->init();   

解决此问题的常用方法是替换:

add_action( 'plugins_loaded', $this->plugin_update() );

使用:

add_action( 'plugins_loaded', array( $this, 'plugin_update' ) );