Saya memiliki dua taksonomi hierarki kustom, masing-masing pada jenis pos kustom yang sesuai. Saya ingin menghapus metabox untuk masing-masing pada layar edit jenis posting.
Saya telah membaca menghapus metabox taksonomi kustom dari bentuk pos kustom dan Bagaimana Anda menghapus metabox taksonomi gaya-kategori? tapi saya masih terjebak.
Fungsi yang saya gunakan adalah:
function remove_taxonomies_metaboxes() {
remove_meta_box( 'partner_typediv', 'partners', 'normal' );
remove_meta_box( 'person_typediv', 'people', 'normal' );
}
add_action( 'admin_menu' , 'remove_taxonomies_metaboxes' );
Saya tidak memperbaiki post_types dan custom_taxonomies, tapi hanya itu. Saya sudah mencoba menggunakan admin_menu
hook dan add_meta_boxes
hook yang direkomendasikan oleh Codex. Saya sudah mencoba keduanya normal
dan side
untuk parameter ketiga.
Fungsi di atas terletak di mu-plugins
file di bawah fungsi yang mendaftarkan jenis dan taksonomi pos.
EDIT: Itu salah ketik pada fungsi register_taxonomy. Saya orang yang mengerikan. Terima kasih untuk semua orang atas bantuannya. Saya masih belajar beberapa hal!
'show_ui' => false
?Jawaban:
Jika Anda secara manual mendaftarkan taksonomi kustom Anda melalui register_taxonomy maka Anda bisa memberikan argumen untuk mengontrol di mana metabox muncul.
Pada contoh di bawah ini, pengaturan
show_ui
untukfalse
menghapus metabox sepenuhnya dari layar edit, layar edit cepat, dan menu admin. Tetapi jika Anda menyetelshow_ui
ketrue
Anda dapat mencapai kontrol yang lebih bernuansa dengan kemudian menggunakanshow_in_quick_edit
danmeta_box_cb
argumen (mengatur nanti ke salah menyembunyikan metabox pada layar edit CPT seperti yang diinginkan).sumber
Anda mengatakan ingin menghapus kotak dari
post
layar edit, bukan layar jenis Posting, jadi dengan asumsi Anda seharusnya dapat mendaftarkan taksonomi Anda hanya untuk jenis posting yang Anda inginkan, dan hindari ini sama sekali. Contoh dalam Codex mendaftarkan taksonomi sampel hanya untukbook
jenis posting seperti:Saya pikir ini adalah apa yang perlu Anda lakukan, tetapi Anda tidak memposting kode registrasi untuk jenis posting atau taksonomi.
Jika Anda telah membuat kotak meta sendiri - yaitu, kotak ini bukan yang standar - maka cara untuk menghindari masalah ini adalah dengan mendaftarkan kotak meta pada kait spesifik jenis post :
Atau untuk mengikuti contoh di atas:
Salah satu pendekatan itu harus menyelesaikan ini untuk Anda. Saya tidak berpikir Anda harus menggunakan
remove_meta_box
sama sekali.Jika Anda mencoba untuk menghapus kotak meta dari jenis posting yang mereka daftarkan, ini berfungsi (sekali lagi mengikuti contoh di Codex):
Saya yakin itu
admin_menu
terlalu dini, tetapi tidak memverifikasi itu.add_metaboxes
juga bekerja untukku. Saya tidak tahu mengapa itu tidak berhasil untuk Anda.sumber
Menggunakan ACF untuk manajemen taksonomi khusus, metabox default tidak diperlukan. Saya sudah mencoba, dengan sukses, kode ini:
Prioritas rendah (100) membiarkan kode ini bekerja juga jika taksonomi dibuat oleh plugin seperti CPT-UI.
sumber
remove_meta_box( 'tagsdiv-'.$taxonomy, $post_type, 'side' );