Обновлено до 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
Я также получаю это при включенной отладке:
Я не уверен, в чем проблема, поскольку трассировка стека кажется довольно загадочной. Любой совет о том, что, возможно, сломал плагин, или как диагностировать проблему?
Как отметил @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' ) );
Других решений пока нет …