get_terms - doar termenii de nivel superior
Încerc să obțin doar termenii de nivel superior:
$cat_args = array(
'parent' => 0,
'number' => 10,
'hide_empty' => false,
);
$categories = get_terms( 'question_category' , $cat_args);
Dar această interogare returnează și toți termenii copil, am încercat totul dar mereu obține și termenii copil.
Încerc de 5 ore și nu pot găsi ce este greșit în codul meu, este acesta un bug WordPress sau este ceva greșit în codul meu?
Mulțumesc pentru ajutor.

Codul tău este corect, sau aproape corect. La prima vedere, trebuie să recunosc, și eu am ratat acest lucru.
Ai două erori de sintaxă în codul tău. Dacă te uiți atent, 'parent '
și 'parent'
nu sunt același lucru. Nu ar trebui să lași spații goale între ghilimele simple ('
) și argumente.
De asemenea, nu este necesar să adaugi o ,
după ultimul argument.
Acest cod ar trebui să funcționeze:
$cat_args = array(
'parent' => 0,
'number' => 10,
'hide_empty' => false
);
EDITARE 15-06-2016
Începând cu WordPress 4.5, sintaxa pentru get_terms()
s-a schimbat. Parametrul taxonomy
este acum inclus în array-ul de argumente, așa că noua utilizare va arăta astfel:
$args = [
'taxonomy' => 'my_tax',
'parent' => 0,
'number' => 10,
'hide_empty' => false
];
$terms = get_terms( $args );

Doar o notă: nu este necesar să adaugi ,
după ultimul argument al array-ului, ÎNSĂ, este o practică bună să o faci ;)

@jave.web Mulțumesc pentru asta, știu, doar că nu fac asta tot timpul. ;-)

@jave.web De fapt, nu este o practică bună să adaugi o ,
după ultimul argument al array-ului, deoarece acest lucru va strica alte limbaje care nu sunt la fel de tolerante cu virgulele redundante. De exemplu, JSON se va strica dacă faci asta.

@Mikepote acest lucru nu este de fapt adevărat, este o practică bună și dacă încerci să muți codul dintr-un limbaj în altul, ar trebui să folosești conversia/terminologia corectă. Este ca și cum ai spune că nu poți avea creări de obiecte și/sau variabile ca argumente, pentru că dacă copiezi/lipești, se strică JSON... Este o practică bună chiar și în JavaScript, motiv pentru care suportul a fost adăugat ulterior peste tot. Copierea/lipirea în cadrul aceluiași limbaj și proiect este mult mai probabilă, iar adăugarea virgulei finale, dacă este posibil, previne întârzieri frecvente - acest lucru nu este doar din experiența mea, ci și din experiența altora.

@Mikepote Pentru a adăuga la ceea ce spune jave.web, nu este doar o practică bună, ci este recomandat în mod specific în Standardele de Codare PHP WordPress, pe care, în mod ideal, ar trebui să le urmeze tot codul specific WordPress: https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
