Saya mencoba melakukan sesuatu dengan hook admin_init jika - dan hanya jika - pengguna mengedit posting (post.php) dengan jenis tulisan "event". Masalah saya adalah itu, meskipun wordpress menunjuk ke variabel global memanggil $ post_type. bila saya lakukan:
global $post_type;
var_dump($post_type);
Ia mengembalikan NULL.
tetapi jika saya melakukan ini:
global $pagenow;
var_dump($pagenow);
mengembalikan halaman saya saat ini. yaitu "post.php".
Saya melihat ke fungsi ini $screen = get_current_screen();
tapi itu tidak dinyatakan sampai setelah admin_init kait telah berjalan, dan kemudian terlambat.
Jadi pertanyaan saya adalah, bagaimana saya, pada saat admin_init dijalankan, cari tahu jenis tulisan yang sedang diedit. jika urlnya post.php?post=81&action=edit
lalu, bagaimana saya tahu apa jenis postid postid = 81 itu?
Terima kasih, Malthe
global $post
?Jawaban:
sumber
Saya akan memperluas jawaban MiCc83. Ada beberapa hal yang tidak mengikuti pertanyaan asli OP tetapi secara keseluruhan itu adalah solusi yang bagus. Misalnya, itu tidak akan berfungsi dengan acara post_type karena Anda memeriksa post_type sebagai 'postingan' di jawabannya.
Kondisi
'post' === get_post_type( $_GET['post'] )
dalam jawaban sebelumnya akan mencegah ini bekerja pada 'jenis' posting jenis. Anda perlu memeriksa jenis posting 'acara' alih-alih 'posting'.sumber