โพสต์ที่กำหนดเองหลายประเภทสามารถแชร์อนุกรมวิธานที่กำหนดเองได้หรือไม่?


23

ฉันกำลังพิจารณาที่จะสร้างเว็บไซต์ drupal ใหม่ใน wordpress และฉันยังคงคาดเดาความแตกต่างระหว่างระบบโดยเฉพาะอย่างยิ่ง cck / ฟิลด์และประเภทเนื้อหาที่กำหนดเองและวิธีการใช้อนุกรมวิธานที่แตกต่างกัน

ฉันต้องการทราบว่าประเภทเนื้อหาที่กำหนดเองสองประเภทสามารถแบ่งปัน taxonomy ที่กำหนดเองได้หรือไม่ ใน drupal ฉันสามารถ จำกัด การโพสต์ของประเภทเนื้อหาที่เฉพาะเจาะจงไปยังกลุ่มผู้ใช้และจากนั้นการโพสต์สามารถมี taxonomy ที่แชร์กับประเภทเนื้อหาอื่นอย่างน้อยหนึ่งประเภทเท่านั้น (แต่ไม่ใช่ทุกประเภท)

ออกจากส่วนของผู้ใช้ที่ปรากฏขึ้นพร้อมกับผู้ดำเนินการตามบทบาทคุณสามารถทำสิ่งนี้กับ wordpress ได้หรือไม่? ฉันเพิ่งเห็นประเภทเนื้อหาที่กำหนดเองที่มี taxonomy ที่กำหนดเอง แต่ไม่มีวิธีที่จะแบ่งปัน taxonomy ที่กำหนดระหว่างประเภทเนื้อหาที่กำหนดเอง 2 ประเภทขึ้นไปโดยไม่ต้องสร้างใหม่ในสองแห่งหรือเปิดใช้ทั่วโลกผ่านหมวดหมู่ / แท็ก ...

ขอบคุณ -Chad

คำตอบ:


15

การแชร์ taxonomy ระหว่าง CPT

ฉันต้องการทราบว่าประเภทเนื้อหาที่กำหนดเองสองประเภทสามารถแบ่งปัน taxonomy ที่กำหนดเองได้หรือไม่

ง่ายกล่าวว่า: ใช่พวกเขาสามารถ

แชร์อย่างไร

ในขณะที่ฉันบรรจงลงรายละเอียดในโพสต์บล็อกนี้คุณควรลงทะเบียน taxonomies ที่กำหนดเองและประเภทโพสต์ให้กันโดยเร็วที่สุด

ล้อมขั้นตอนการลงทะเบียนของคุณในฟังก์ชั่นโดยเชื่อมต่อกับinitตะขอที่ระดับความสำคัญเริ่มต้น

register_taxonomy(
    'some_custom_tax',
    'some_post_type',
    $array_of_arguments
);
register_post_type(
    'some_post_type',
    [
        'taxonomies' => [ 'some_custom_tax' ],
        // other arguments
    ]
);

ไม่สำคัญว่าคุณจะใช้อาร์กิวเมนต์อันดับที่ 2 สำหรับregister_taxonomy()หรือถ้าคุณใช้register_taxonomy_for_object_type()เช่นเดียวกับที่ทำเช่นเดียวกันพวกเขาใช้$GLOBALS['wp_taxonomies']อาร์เรย์และกำหนดวัตถุประเภทโพสต์ (ชนิด)

โน๊ตสำคัญ

เพียงตรวจสอบให้แน่ใจว่าคุณได้ลงทะเบียน CT และ CPT ซึ่งกันและกันเมื่อทำการลงทะเบียน มิฉะนั้นคุณจะไม่สามารถเข้าถึงการเชื่อมต่อโครงข่ายนั้นในระหว่างการสอบถามตะขอ


2
ปัญหาหนึ่งที่ฉันพบคือผู้ดูแลระบบไม่แสดงจำนวนการโพสต์สำหรับ CPT อย่างถูกต้องเมื่อใช้ CT ร่วมกันที่อื่น
Meetai.com

ฉันไม่แน่ใจว่าฉันทำตาม คำถามถามเกี่ยวกับการลงทะเบียน CT เพื่อ CPT หลายรายการ คำตอบนี้ดูเหมือนจะแสดงให้เห็นถึงการลงทะเบียน CPT และ CT เพื่อกันและกัน
Guy บราซิลนั่น

4

จาก Codex:

taxonomies

(array) (เป็นทางเลือก) อาร์เรย์ของ taxonomies ที่ลงทะเบียนเช่นหมวดหมู่หรือ post_tag ที่จะใช้กับโพสต์ประเภทนี้ สามารถใช้แทนการโทร register_taxonomy_for_object_type()โดยตรง taxonomies register_taxonomy()กำหนดเองยังคงต้องลงทะเบียนกับ

เมื่อคุณลงทะเบียนประเภทโพสต์ของคุณคุณจะกำหนด taxonomies ที่รองรับหรือใช้register_taxonomy_for_object_type()ในจุดอื่นเพื่อเพิ่ม taxonomy ให้กับประเภทโพสต์

คุณสามารถกำหนด taxonomy ให้กับประเภทโพสต์ได้มากเท่าที่คุณต้องการ Taxonomies ไม่ได้เชื่อมโยงกับโพสต์บางประเภท


4

ฉันสามารถทำสิ่งนี้ได้อย่างง่ายดายโดยการผ่านประเภทโพสต์ที่กำหนดเองทั้งหมดที่ฉันต้องการแชร์อนุกรมวิธานดังนั้นรหัสของฉันจึงเป็นดังนี้:

add_action( 'init', 'build_taxonomies', 0 );
 function build_taxonomies() {
    register_taxonomy( 'some_custom_tax', array('some_post_type_1','some_post_type_2'), array( 'hierarchical' => true, 'label' => 'Custom Tax Title', 'query_var' => true, 'rewrite' => true ) );   
}

นี่ควรเป็นคำตอบที่ IMO ยอมรับ กระชับและตรงประเด็น
FaCE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.