Yalnızca üst terimleri nasıl alabilirim?


19

Özel sınıflandırma veya kategoriden yalnızca ana terimleri almanın bir yolu var mı?

Yanıtlar:


38

Evet, get_termsMichael'ın işaret ettiği gibi üst parametreyi aradığınızda geçmeniz yeterlidir.

WP 4.5 olduğundan bu önerilen kullanımdır:

$myterms = get_terms( array( 'taxonomy' => 'taxonomy_name', 'parent' => 0 ) );

WP 4.5'ten önce bu varsayılan kullanımdı:

$myterms = get_terms( 'taxonomy_name_here', array( 'parent' => 0 ) );

Üst değeri olan tüm terimleri döndürür 0, yani. üst düzey terimler.


Özel taksonomiler için boş dizi döndürür :(
Mamaduka

Bu sınıflandırmadaki terimler bir gönderiyle (veya özel türle) ilişkili mi? Değilse, şu anda kullanılmayan terimleri görebilmeniz için hide_emptyparametrenin üzerinden geçmeniz gerekir 0.
t31os

Bunun yalnızca ebeveyn seviyesi 1 olan "anne" terimi alacağını unutmayın. Tüm ataları almak için get_ancestors(TERM_ID, TAXONOMY, 'taxonomy') developer.wordpress.org/reference/functions/get_ancestors
jave.web adresini ziyaret edin


2

woocommerce e-posta şablonları için aşağıdakileri kullanın:

$terms = get_the_terms( $_product->id , 'product_cat');
    if($terms) {
        foreach( $terms as $term ) {
            $term = get_term_by("id", $term->parent, "product_cat");
            if ($term->parent > 0) {
                $term = get_term_by("id", $term->parent, "product_cat");
            }
            $cat_obj = get_term($term->term_id, 'product_cat');
            $cat_name = $cat_obj->name;
        }
    }
echo '<br />('. $cat_name . ')';

5
lütfen kodunuzun soruyu nasıl çözebileceğine dair bir açıklama ekleyin. OP, woocommerce e-posta şablonları hakkında soru sormadı.
iEmanuele

1
 $archive_cats= get_terms( 'archivecat', 'orderby=count&hide_empty=0&parent=0' );

3
Bu, iki yıldan uzun bir süre önce önerilen (daha önce kabul edilmiş) cevaptan nasıl farklı?
tfrommen

(zaten kabul edilmiş) yanıtı hakkında yorum gördün mü? daha fazla cevap işe yaramazsa soru neden hala açıldı?!
ashraf mohammed

Görünmeyen, orijinal soru ile ilgili olmayan terimler ile ilgili tek bir sorgu vardı, ben bir cevap yorum (zaten verilen cevabın geçerliliği veya doğruluğu üzerinde hiçbir etkisi yoktu gibi) bu sorunu ele.
t31os

1
Lütfen bunu bir düzenlemede ele alın. Kodunuzu açıklayın.
kaiser
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.