Ошибка нестатического метода — jQuery Плагин Vertical Accordion Menu — WordPress

Я уже давно пользуюсь плагином JQuery Vertical Accordion Menu, но когда я обновился до WordPress 4.1 плагин выдает сообщение об ошибке, похожее на скриншот Вот.

Я думаю, что я нашел это dcwp_jquery_accordion.php так как он не отображает ошибку, когда эти строки закомментированы.
Как правильно использовать add_action?

Спасибо!

С наилучшими пожеланиями,
Маркус

function dc_jqaccordion(){
global $registered_skins;

if(!is_admin()){

// Header styles
//      add_action( 'init', array('dc_jqaccordion', 'header') );

// Shortcodes
add_shortcode( 'dcwp-jquery-accordion', 'dcwp_dc_jqaccordion_shortcode' );
}
//  add_action( 'wp_footer', array('dc_jqaccordion', 'footer') );

$registered_skins = array();

1

Решение

Проблема в моем случае заключалась в том, что функции должны быть public static function вместо просто function

Плагин работает сейчас.
Спасибо @mmk

1

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

Правильный способ использования add_action() это так:

add_action('the_action_you_want_to_target','your_function');
function your_function(){
//your code goes here
}

если вы хотите поставить в очередь скрипты, вы можете сделать это с помощью другого add_action() вот так:

add_action('wp_enqueue_scripts','My_Stylesheets_and_Scripts');
function My_Stylesheets_and_Scripts(){
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}

true part означает, что скрипт будет помещен в нижний колонтитул. false отображает скрипт в шапке

0