Saya cukup bingung tentang yang satu ini. Saya menggunakan add_action di dalam kelas plugin saya untuk melakukan hal-hal tertentu - tambahkan skrip & gaya ke kepala, wp_ajax, dll. Berikut adalah tindakannya, di __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'));
}
Adakah yang pernah menemukan sesuatu seperti ini? Saya benar-benar ingin tahu cara menggunakan kata kait dari dalam kelas - itu sangat berantakan memiliki tindakan di luar kelas!
$my_plugin = new MYClass();
karena saya sudah menggunakan kait yang sama ini dari dalam kelas tanpa masalah.public
visibilitas.Jawaban:
Terkadang kait tertentu perlu ditembakkan pada waktu-waktu tertentu. Contoh, beberapa kait perlu ditembakkan pada init .
Tambahkan ini ke
__construct()
Kemudian tambahkan fungsi ini, yang akan berisi semua kait yang perlu diaktifkan pada init .
Contoh lain:
Anda akan ingin membaca tentang kait dan ketika mereka dipecat. Jadi, Anda tahu kapan dan di mana akan memicu tindakan Anda. API Plugin / Referensi Tindakan
sumber
Ini adalah pertanyaan yang cukup lama, tetapi kalau-kalau ada yang mencari jawaban, saya punya masalah serupa. Saya punya kelas
Plugin :: init () tidak pernah dipanggil. Saya kemudian menyadari kesalahan saya. Untuk membuat instance kelas saya melakukan ini:
Untuk memperbaikinya, saya baru saja mengubah kode instantiation ke:
Opsi lain adalah menggunakan kait yang berbeda di konstruktor:
Atau kait sebelumnya di instantiation:
sumber