get_terms - yalnızca üst seviye


14

Sadece üst düzey terim almaya çalışıyorum:

$cat_args = array(
    'parent '       => 0,
    'number'        => 10,
    'hide_empty'    => false,           
);

$categories = get_terms( 'question_category' , $cat_args); 

Ama bu sorgu tüm çocuklukları da geri, her şeyi denedim ama her zaman çok çocuk terimleri olsun.

Son 5 saatten beri çalışıyorum ve kodumda yanlış olanı bulamıyorum, bu bir WP hatası mı yoksa kodumda yanlış bir şey mi var?

Yardım için teşekkürler.


Sınıflandırmanızdan sadece üst düzey terimler demek istediğinizi düşünüyorumquestion_category
Pieter Goosen

Evet demek istiyorum ki
Aryan

Yanıtlar:


21

Kodunuz doğru, neredeyse doğru. İlk bakışta itiraf etmeliyim, ben de kaçırdım.

Kodunuzda iki sözdizimi hatası var. Eğer yakından bakarsanız 'parent 've 'parent'aynı değilse. Tek tırnak işareti ( ') ile bağımsız değişkenler arasında boşluk bırakmamalısınız .

Ayrıca, ,son argümanınızdan sonra bir ek eklemenize gerek yoktur .

Bu çalışmalı

$cat_args = array(
    'parent'        => 0,
    'number'        => 10,
    'hide_empty'    => false           
);

DÜZENLEME 15-06-2016

WordPress 4.5'ten itibaren, sözdizimi için değişti get_terms(). taxonomyYeni kullanım aşağıdaki gibi görünecektir böylece parametre artık, dizi veya args dahildir

$args = [
    'taxonomy'     => 'my_tax',
    'parent'        => 0,
    'number'        => 10,
    'hide_empty'    => false           
];
$terms = get_terms( $args );

2
Sadece bir not: Son dizi argümanından sonra eklemenize gerek yok ,, ANCAK, bunu yapmak için iyi bir uygulamadır ;)
jave.web

@ jave.web Bunun için teşekkürler, bunu her zaman yapmıyorum. ;-)
Pieter Goosen

@ jave.web Fazladan virgüllere toleranslı olmayan diğer dilleri kıracağından, son dizi argümanından sonra bir ekleme yapmak aslında iyi bir uygulama değildir, . Örneğin. Bunu yaparsanız JSON kırılacaktır.
Mikepote

2
@Mikepote aslında doğru değil, iyi bir uygulamadır ve kodu bir dilden diğerine taşımaya çalışıyorsanız, uygun dönüşüm / ter kullanmalısınız. Bu, nesne yaratımlarına ve / veya değişkenlere argüman olarak sahip olamayacağınızı söylemek gibidir, çünkü kopyalar / yapıştırırsanız JSON'u bozar ... JavaScript'te bile iyi bir uygulamadır, bu nedenle destek daha sonra her yere eklenmiştir. Aynı dil ve proje içinde kopyala / yapıştır çok daha olasıdır ve mümkünse sondaki virgül eklemek, yaygın yavaşlamaları önler - bu sadece benim deneyimimden değil, aynı zamanda başkalarının deneyiminden de kaynaklanır.
jave.web

@Mikepote jave.web'in söylediklerini ele almak için, sadece iyi bir uygulama değil, WordPress'e özgü tüm kodların izlemesi gereken WordPress PHP Kodlama Standartlarında özellikle tavsiye edilir: make.wordpress.org/core/handbook/best- uygulamalar /…
Sarah Lewis
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.