Hari ini saya perlu mengubah argumen tentang taksonomi khusus yang sudah didaftarkan oleh plugin pihak ketiga . Secara khusus saya ingin mengatur show_admin_column
argumen true
dan mengubah rewrite
siput sehingga bukan hanya siput taksonomi. Dalam hal ini, itu adalah tipe pos "Orang" dengan taksonomi khusus "Kategori Orang".
Saya terkejut ini tidak ditanyakan sebelumnya, jadi inilah pertanyaan dan jawaban.
Jawaban:
register_taxonomy()
adalah alat untuk pekerjaan itu. Dari Codex:Salah satu opsi adalah menyalin
register_taxonomy()
$args
dan memodifikasinya. Namun, itu berarti bahwa setiap perubahan di masa depan denganregister_taxonomy()
kode asli akan ditimpa.Oleh karena itu, setidaknya dalam kasus ini, lebih baik mendapatkan argumen asli, memodifikasi argumen yang ingin saya ubah, dan kemudian mendaftar ulang taksonomi. Inspirasi untuk solusi ini ditujukan ke @Otto dalam jawaban ini untuk pertanyaan serupa tentang jenis posting kustom .
Menggunakan
people
jenis pos kustom danpeople_category
taksonomi dari contoh, ini akan melakukannya:Catatan di atas bahwa saya
register_taxonomy()
mengetik argumen ketiga ke jenis array yang diharapkan. Ini tidak sepenuhnya diperlukan karenaregister_taxonomy()
penggunaanwp_parse_args()
yang dapat menanganiobject
atauarray
. Yang mengatakan,register_taxonomy()
's$args
seharusnya disampaikan sebagaiarray
menurut Codex, jadi ini terasa tepat untuk saya.sumber
'people_category'
) seperti taksonomi asli sehingga Anda menimpanya.capabilities
parameter disimpan secara internalcap
sehingga tidak akan diteruskan ke taksonomi terdaftar baru. Lihat jawaban saya untuk pertanyaan serupa di sini