Perbedaan Antara Taksonomi Hierarkis dan Non-Hierarkis?

34

Pertanyaannya adalah "Apa Perbedaan Antara Taksonomi Hierarkis dan Non-Hirarki?" Pertanyaan ini benar-benar membuat saya bingung pada awalnya jadi saya pikir itu akan menjadi ide yang baik untuk menunjukkan perbedaan kepada orang lain yang berselancar di situs mencari perbedaan.

Secara khusus pertanyaannya mengacu pada hierarchicalargumen yang diteruskan ke register_taxonomy()fungsi. Lebih khusus lagi, apa perbedaan antara ini:

'hierarkis' => salah

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

Dan ini?

'hierarkis' => benar

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

Perhatikan bahwa saya akan melanjutkan dan menjawab pertanyaan saya sendiri tetapi tidak akan menandainya sebagai yang terbaik kecuali tidak ada orang lain yang melangkah dengan jawaban yang benar-benar baik. Perasaan saya juga mengatakan bahwa saya mungkin tidak menangkap setiap perbedaan antara kedua dikotomi itu, jadi jika tidak, beri tahu kami apa yang saya lewatkan.

MikeSchinkel
sumber
Bisakah Anda juga menjelaskan apa yang hierarkis dengan apa? Apakah grup taksonomi hierarkis dengan tipe posting? Atau apakah taksonomi individu hierarkis ke grup taksonomi? Saya hanya terlempar oleh kata hierarkis kurasa. Terima kasih.
Dave

Jawaban:

42

The jawaban sederhana adalah bahwa istilah dalam taksonomi hirarkis dapat memiliki istilah anak . Tapi apa lagi?

'hierarkis' => salah

Ketika Anda menentukan 'hierarchical'=>falseAnda mendapatkan jenis metabox berikut yang merupakan format metabox yang juga digunakan WordPress untuk Posting Tag :

Metabox Term Taksonomi di Layar Edit Posting ketika $ hierarchical == false

'hierarkis' => benar

Namun ketika Anda menentukan, 'hierarchical'=>trueAnda mendapatkan jenis metabox berikut yang merupakan format metabox yang juga digunakan WordPress untuk Kategori :

Metabox Term Taksonomi di Layar Edit Posting ketika $ hierarchical == true

Tentu saja contoh di atas juga menunjukkan di mana kategorisasi hierarkis dapat menjadi sedikit campuran karena dalam kehidupan nyata subkategori sering berlaku untuk banyak kategori induk. Meskipun begitu, "banyak orangtua" tidak mengatakan bagaimana taksonomi hierarkis bekerja di WordPress tetapi IMO mengkategorikan sesuatu dengan sempurna hampir tidak mungkin terlepas dari bagaimana WordPress bekerja. Jadi Caveat Emptor!

Tentang Pendaftaran Taksonomi Kustom, atau "Mengapa Tidak Akan Menyelamatkan?"

Meskipun tidak terkait langsung dengan pertanyaan jika Anda seorang pemula yang mencoba taksonomi kustom, ( atau pengembang berpengalaman yang tidak memperhatikan seperti yang terjadi pada saya ketika saya menulis ini! ) Kemungkinan Anda akan mencoba menambahkan register_taxonomy()seperti kode Anda lihat di pertanyaan langsung ke functions.phpfile tema Anda . Ups!

Jika Anda menambahkan kode secara langsung ke functions.phpmetabox Anda akan ditampilkan tetapi itu tidak akan menyimpan istilah Anda yang baru ditambahkan (dan dalam 'heirarchical'=>truebentuk metabox istilah Anda yang ada tidak akan memuat dengan kotak centang.) Itu karena Anda perlu mendaftarkan taksonomi kustom ( dan jenis pos khusus) di dalam sebuah initkait, seperti:

<?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' ),
    ));
}

Semoga ini membantu!

MikeSchinkel
sumber
Apakah Taksonomi Hierarkis sama dengan kategori pabean? Dan apakah Taksonomi Non-Hirarki sama dengan tag kustom?
Daniel
1
@ ravensfan55222 - Tidak persis, tetapi hampir. Alih-alih 'taksonomi hierarkis' yang sama dengan kategori khusus, sistem klasifikasi Kategori bawaan hanyalah salah satu dari banyak taksonomi hierarki potensial. Tag Demikian pula (Posting) hanyalah salah satu contoh dari taksonomi non-hierarkis. Lebih tepatnya, "hierarkis" hanyalah atribut dari taksonomi, seperti bagaimana label adalah atribut yang adil dari taksonomi atau warna adalah atribut mobil. Itu mungkin maksud Anda, tetapi saya ingin mengklarifikasi jika tidak.
MikeSchinkel