Hiyerarşik ve Hiyerarşik Olmayan Taksonomiler Arasındaki Fark?


34

Soru "Hiyerarşik ve Hiyerarşik Olmayan Taksonomiler Arasındaki Fark Nedir?" Bu soru ilk başta beni çok şaşırttı, bu yüzden ayrımı arayan sitede sörf yapan diğerlerine farkı göstermek için iyi bir fikir olacağını düşündüm.

Özellikle soru, işleve hierarchicaliletilen argümana atıfta bulunmaktır register_taxonomy(). Daha spesifik olarak, bunun arasındaki fark nedir:

'hiyerarşik' => yanlış

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

Ve bu?

'hiyerarşik' => doğru

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

Not Devam edeceğim ve kendi soruma cevap vereceğim ancak başka hiç kimse de gerçekten iyi bir cevap atamadığı sürece, bunu en iyi olarak işaretlemeyeceğim. Ayrıca içgüdülerim bana iki ikilik arasındaki her ayrımı yakalamayabileceğimi söyledi, bu yüzden lütfen neyi özlediğimi bize bildirmeyin.


Neyin neyin hiyerarşik olduğunu da açıklayabilir misiniz? Taksonomi grubu posta türüne göre hiyerarşik midir? Yoksa bireysel taksonomi taksonomi grubuna hiyerarşik midir? Sanırım sadece hiyerarşik kelime ile atıldım. Teşekkürler.
Dave

Yanıtlar:


42

En basit cevap olmasıdır hiyerarşik bir sınıflandırmada terimler olabilir çocuk terimleri . Ama başka ne var?

'Hiyerarşik' => false

Bir 'hierarchical'=>falsebelirlediğinizde, WordPress'in Posta Etiketleri için de kullandığı metabox biçimi olan aşağıdaki metabox türünü alırsınız :

$ Hiyerarşik == yanlış olduğunda Post Düzenleme Ekranında Taksonomi Terim Metabox

'Hiyerarşik' => true

Ancak, belirttiğinizde 'hierarchical'=>true, WordPress'in Kategoriler için de kullandığı metabox biçimi olan aşağıdaki metabox türünü alırsınız :

$ Hierarchical == true olduğunda Post Edit Ekranında Taksonomi Terim Metabox

Tabii ki yukarıdaki örnek aynı zamanda hiyerarşik kategorizasyonun biraz karışık bir torbaya sahip olabileceğine de işaret etmektedir, çünkü gerçek hayatta alt kategoriler çoğu ana kategoriye uygulanır. Bu kadar yükselen "birçok ebeveyn" bile WordPress'te hiyerarşik taksonomilerin nasıl çalıştığını değil, IMP'nin WordPress'in nasıl çalıştığından bağımsız olarak bir şeyi mükemmel şekilde sınıflandırması neredeyse imkansızdır . Yani Emptor Emptor!

Özel Taksonomi Kayıtlarında veya “Neden Tasarruf Etmiyor?”

Özel taksonomileri deneyen bir acemi iseniz, ( ya da bunu yazarken başıma gelenler gibi dikkat etmeyen deneyimli bir dev! ) İle doğrudan ilgili olmamakla birlikte register_taxonomy(), kod gibi eklemeyi deneyeceksiniz soruda doğrudan temanın functions.phpdosyasına bakın. Hata!

Kodu doğrudan functions.phpmeta kutunuza eklerseniz görüntülenir, ancak yeni eklenen terimlerinizi kaydetmez (ve 'heirarchical'=>truemeta kutusu biçiminde mevcut terimleriniz onay kutularıyla yüklenmez.) Bunun nedeni, özel taksonomileri kaydetmeniz gerektiğidir ( ve özel posta tipleri) bir initkanca içinde

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

Bu yardımcı olur umarım!


Hiyerarşik Taksonomi, özel bir kategori ile aynı şey midir? Hiyerarşik Olmayan Bir Taksonomi, özel bir etiketle aynı şey midir?
Daniel

1
@ ravensfan55222 - Tam olarak değil, ama neredeyse. Özel bir kategoriyle aynı olan 'hiyerarşik bir taksonomi' yerine, yerleşik Kategori sınıflandırma sistemi birçok potansiyel hiyerarşik taksonomiden sadece biridir. Benzer şekilde (Post) Etiketler, hiyerarşik olmayan bir taksonominin sadece bir örneğidir. Daha doğrusu, "hiyerarşik", bir etiketin bir taksonominin veya rengin adil bir nitelik olması gibi, bir otomobilin niteliği gibi bir taksonominin niteliğidir. Demek istediğin şey olabilirdi ama olmasa açıklığa kavuşturmak istedim.
MikeSchinkel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.