register_taxonomy()
เป็นเครื่องมือสำหรับงาน จาก Codex:
ฟังก์ชั่นนี้จะเพิ่มหรือเขียนทับอนุกรมวิธาน
ทางเลือกหนึ่งคือการคัดลอกregister_taxonomy()
$args
และแก้ไข อย่างไรก็ตามนั่นหมายความว่าการเปลี่ยนแปลงregister_taxonomy()
รหัสต้นฉบับในอนาคตจะถูกเขียนทับ
ดังนั้นอย่างน้อยในกรณีนี้มันก็ดีกว่าที่จะได้รับข้อโต้แย้งดั้งเดิมแก้ไขสิ่งที่ฉันต้องการเปลี่ยนแล้วลงทะเบียนอนุกรมวิธานใหม่ แรงบันดาลใจสำหรับการแก้ปัญหานี้ไป @Otto ในเรื่องนี้คำตอบของคำถามที่คล้ายกันเกี่ยวกับประเภทโพสต์ที่กำหนดเอง
การใช้people
ประเภทโพสต์ที่กำหนดเองและpeople_category
อนุกรมวิธานจากตัวอย่างนี้จะทำ:
function wpse_modify_taxonomy() {
// get the arguments of the already-registered taxonomy
$people_category_args = get_taxonomy( 'people_category' ); // returns an object
// make changes to the args
// in this example there are three changes
// again, note that it's an object
$people_category_args->show_admin_column = true;
$people_category_args->rewrite['slug'] = 'people';
$people_category_args->rewrite['with_front'] = false;
// re-register the taxonomy
register_taxonomy( 'people_category', 'people', (array) $people_category_args );
}
// hook it up to 11 so that it overrides the original register_taxonomy function
add_action( 'init', 'wpse_modify_taxonomy', 11 );
โปรดสังเกตว่าฉันพิมพ์register_taxonomy()
อาร์กิวเมนต์ที่สามเป็นประเภทอาเรย์ที่คาดไว้ นี้ไม่จำเป็นอย่างเคร่งครัดregister_taxonomy()
การใช้งานwp_parse_args()
ที่สามารถจัดการได้หรือobject
array
ที่กล่าวว่าregister_taxonomy()
's $args
ควรจะถูกส่งเป็นarray
ไปตาม Codex ดังนั้นนี้รู้สึกขวาให้ฉัน