WordPress 4.7 call_user_func_array ()

Обновлено до 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

Я также получаю это при включенной отладке: введите описание изображения здесь

Я не уверен, в чем проблема, поскольку трассировка стека кажется довольно загадочной. Любой совет о том, что, возможно, сломал плагин, или как диагностировать проблему?

3

Решение

Как отметил @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' ) );
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]