Estou muito perplexo com este. Estou usando add_action dentro da minha classe de plug-in para fazer certas coisas - adicionar scripts e estilos à cabeça, wp_ajax, etc. Aqui estão as ações, na __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'));
}
Alguém já se deparou com algo assim? Eu realmente gostaria de saber como usar os ganchos de dentro de uma classe - é tão confuso ter ações fora da classe!
$my_plugin = new MYClass();
desde que usei esses mesmos ganchos de uma classe sem problemas.public
visibilidade.Respostas:
Às vezes, certos ganchos precisam ser disparados em determinados momentos. Por exemplo, alguns ganchos precisam ser disparados no init .
Adicione isto ao seu
__construct()
Em seguida, adicione esta função, que conterá todos os ganchos que precisam ser disparados no init .
Outro exemplo:
Você vai querer ler sobre os ganchos e quando eles são disparados. Então você sabe quando e onde acionar suas ações. API de plug-in / referência de ação
fonte
Essa é uma pergunta bastante antiga, mas, caso alguém esteja procurando uma resposta, eu tive um problema semelhante. Eu tive uma aula
O plugin :: init () nunca foi chamado. Eu então percebi meu erro. Para instanciar a classe, eu estava fazendo isso:
Para corrigi-lo, mudei o código de instanciação para:
A outra opção seria usar um gancho diferente no construtor:
Ou um gancho anterior na instanciação:
fonte