Jestem bardzo zaskoczony tym. Korzystam z add Działalności w mojej klasie wtyczek, aby robić pewne rzeczy - dodawać skrypty i style do nagłówka, wp_ajax itp. Oto akcje w __construct:
function __construct(){
add_action('admin_menu', array($this, 'sph_admin_menu'));
add_action('sph_header', array($this, 'sph_callback'));
add_action('sph_header_items', array($this, 'sph_default_menu'), 1);
add_action('sph_header_items', array($this, 'sph_searchform'), 2);
add_action('sph_header_items', array($this, 'sph_social'), 3);
//Below here they don't work. I have to call these outside of the class (but I need class variables within the functions)
add_action('wp_print_styles', array(&$this, 'sph_stylesheets'));
add_action('wp_print_scripts', array(&$this, 'sph_scripts'));
add_action( 'wp_ajax_nopriv_add_to_list', array(&$this, 'le_add_to_list'));
add_action( 'wp_ajax_add_to_list', array(&$this, 'le_add_to_list'));
add_action('init', array(&$this, 'register_menu'));
}
Czy ktoś kiedykolwiek spotkał coś takiego? Naprawdę chciałbym wiedzieć, jak używać wspomnianych haczyków z klasy - tak niechlujne są działania poza klasą!
$my_plugin = new MYClass();
ponieważ bez problemu użyłem tych samych haczyków w klasie.public
widoczność.Odpowiedzi:
Czasami niektóre haki muszą zostać wystrzelone w określonych momentach. Przykład: niektóre haczyki muszą zostać wystrzelone podczas inicjalizacji .
Dodaj to do swojego
__construct()
Następnie dodaj tę funkcję, która będzie zawierać wszystkie haki, które muszą zostać wystrzelone podczas inicjalizacji .
Inny przykład:
Będziesz chciał przeczytać o hakach i kiedy zostaną wystrzelone. Dzięki temu wiesz, kiedy i gdzie uruchomić swoje działania. Wtyczka API / Action Reference
źródło
To dość stare pytanie, ale na wypadek, gdyby ktoś szukał odpowiedzi, miałem podobny problem. Miałem klasę
Plugin :: init () nigdy nie był wywoływany. Potem zrozumiałem swój błąd. Aby utworzyć instancję klasy, robiłem to:
Aby to naprawić, właśnie zmieniłem kod instancji na:
Inną opcją byłoby użycie innego haka w konstruktorze:
Lub wcześniejszy haczyk w instancji:
źródło