ความแตกต่างระหว่างอนุกรมวิธานแบบลำดับชั้นและแบบที่ไม่ใช่ลำดับขั้น?


34

คำถามคือ"อะไรคือความแตกต่างระหว่างอนุกรมวิธานลำดับชั้นและที่ไม่ใช่ลำดับชั้น?" คำถามนี้ทำให้ฉันงงจริงๆในตอนแรกดังนั้นฉันจึงคิดว่ามันจะเป็นความคิดที่ดีที่จะแสดงความแตกต่างกับคนอื่น ๆ ที่ท่องเว็บไซต์เพื่อค้นหาความแตกต่าง

คำถามนี้อ้างถึงการhierarchicalโต้แย้งที่ส่งผ่านไปยังregister_taxonomy()ฟังก์ชัน โดยเฉพาะอย่างยิ่งอะไรคือความแตกต่างระหว่างสิ่งนี้:

'ลำดับชั้น' => false

register_taxonomy('movie-genre', 'movie', array(
  'hierarchical'    => false,
  'label'           => 'Genre',
  'query_var'       => 'movie-genre',
  'rewrite'         => array('slug' => 'genres' ),
));

และนี่?

'ลำดับชั้น' => จริง

register_taxonomy('movie-genre', 'movie', array(
  'hierarchical'    => true,
  'label'           => 'Genre',
  'query_var'       => 'movie-genre',
  'rewrite'         => array('slug' => 'genres' ),
));

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


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

คำตอบ:


42

คำตอบง่ายๆก็คือว่าข้อตกลงใน taxonomies ลำดับชั้นสามารถมีแง่เด็ก แต่มีอะไรอีกบ้าง?

'ลำดับชั้น' => เท็จ

เมื่อคุณระบุ a 'hierarchical'=>falseคุณจะได้รับ metabox ประเภทต่อไปนี้ซึ่งเป็นรูปแบบ metabox ที่ WordPress ใช้สำหรับแท็กโพสต์ด้วย :

Taxonomy Term Metabox ในหน้าจอแก้ไขการโพสต์เมื่อ $ hierarchical == false

'ลำดับชั้น' => จริง

อย่างไรก็ตามเมื่อคุณระบุ'hierarchical'=>trueคุณจะได้รับประเภทของ metabox ซึ่งเป็นรูปแบบ metabox WordPress ที่ใช้สำหรับหมวดหมู่ :

Taxonomy Term Metabox ในหน้าจอแก้ไขการโพสต์เมื่อ $ hierarchical == true

แน่นอนตัวอย่างข้างต้นยังชี้ให้เห็นว่าการจัดหมวดหมู่แบบลำดับชั้นสามารถบิตของถุงผสมได้เพราะในหมวดหมู่ย่อยในชีวิตจริงมักใช้กับหมวดหมู่ผู้ปกครองจำนวนมาก ถึงกระนั้นการ“ ผู้ปกครองหลายคน”ก็ไม่ได้เป็นวิธีการจัดกลุ่มอนุกรมวิธานใน WordPress แต่ IMO การจัดหมวดหมู่สิ่งที่สมบูรณ์แบบเกือบเป็นไปไม่ได้โดยไม่คำนึงถึงวิธีการทำงานของ WordPress ดังนั้นข้อแม้ Emptor!

ในการลงทะเบียน Taxonomy ที่กำหนดเองหรือ"ทำไมจะไม่บันทึก?"

ในขณะที่ไม่เกี่ยวข้องโดยตรงกับคำถามหากคุณเป็นมือใหม่ทดลองใช้ taxonomies แบบกำหนดเอง ( หรือผู้พัฒนาที่มีประสบการณ์ซึ่งไม่สนใจเหมือนฉันเมื่อฉันเขียนบทความนี้! ) มีโอกาสที่คุณจะลองเพิ่มregister_taxonomy()เช่นรหัส คุณเห็นคำถามนี้ในfunctions.phpไฟล์ของธีมโดยตรง อ๊ะ!

หากคุณเพิ่มรหัสลงในfunctions.phpเมท็อกซ์ของคุณโดยตรงจะแสดง แต่จะไม่บันทึกข้อกำหนดที่เพิ่มใหม่ของคุณ (และใน'heirarchical'=>trueรูปแบบของเมท็อกซ์เงื่อนไขที่คุณมีอยู่จะไม่โหลดพร้อมกล่องกาเครื่องหมาย) นั่นเป็นเพราะคุณต้องลงทะเบียน taxonomies แบบกำหนดเอง และประเภทโพสต์ที่กำหนดเอง) ภายในinitเบ็ดเช่นโดย:

<?php
add_action('init','register_movie_genre_taxonomy');
  function register_movie_genre_taxonomy() {
    register_taxonomy('movie-genre', 'movie', array(
      'hierarchical'    => true,
      'label'           => 'Movie Genre',
      'query_var'       => 'movie-genre',
      'rewrite'         => array('slug' => 'genres' ),
    ));
}

หวังว่านี่จะช่วยได้!


อนุกรมวิธานลำดับชั้นเป็นสิ่งเดียวกันกับหมวดหมู่ที่กำหนดเองหรือไม่? และอนุกรมวิธานที่ไม่เป็นลำดับชั้นเป็นสิ่งเดียวกันกับแท็กที่กำหนดเองหรือไม่
แดเนียล

1
@ ravensfan55222 - ไม่ตรง แต่เกือบ แทนที่จะเป็น 'อนุกรมวิธานเชิงลำดับขั้น' ที่เหมือนกับหมวดหมู่ที่กำหนดเองระบบการจัดหมวดหมู่ในตัวเป็นเพียงหนึ่งในหลาย ๆ แท็ก (โพสต์) ในทำนองเดียวกันเป็นเพียงตัวอย่างหนึ่งของอนุกรมวิธานที่ไม่ใช่แบบลำดับชั้น ถูกต้องยิ่งขึ้น "ลำดับชั้น" เป็นเพียงคุณลักษณะของอนุกรมวิธานเช่นเดียวกับที่ฉลากเป็นเพียงแอตทริบิวต์ของอนุกรมวิธานหรือสีเป็นคุณลักษณะของรถยนต์ นั่นอาจเป็นสิ่งที่คุณหมายถึง แต่ฉันต้องการชี้แจงหากไม่ได้
MikeSchinkel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.