Cum să obțineți o listă de ID-uri pentru subcategoriile unei categorii specifice?

12 ian. 2011, 19:45:30
Vizualizări: 1.26K
Voturi: 0

Cred că aș putea face acest lucru folosind fie get_categories() fie wp_list_categories() și transmitând un parametru 'child_of', de exemplu, dar asta ar returna un set de date mult mai mare decât am nevoie.

Există vreo metodă directă care să returneze ID-urile subcategoriilor pentru orice categorie sub formă de listă simplă (1,2,3,5, etc)?

0
Toate răspunsurile la întrebare 1
8

Încearcă asta:

get_terms( 'category', "child_of=$parent&fields=ids" );
// ar trebui să returneze un array ce conține ID-urile termenilor copii ai termenului $parent
12 ian. 2011 19:51:37
Comentarii

@goldenapples: Este corect? var_dump(get_terms('category', "child_of=1&fields=ids" ))? (returnează array(0) { })

Scott B Scott B
12 ian. 2011 19:58:05

Mi se pare corect, există categorii copil de extras? Și sunt ne-goale? Uită-te la argumentele disponibile aici: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-includes/taxonomy.php#L721

goldenapples goldenapples
12 ian. 2011 20:05:31

doar adaugă 'show_empty=true' la al doilea parametru cred.

sanchothefat sanchothefat
12 ian. 2011 20:07:34

De fapt, cred că problema este că transmit $parent cu id-ul categoriei, nu cu term_id-ul. Dar nu ar trebui să fie același lucru? Încerc să listez toți copiii categoriei "necategorizate", care are id-ul tag_ID 1.

Scott B Scott B
12 ian. 2011 20:07:37

Cum ar fi get_term_children(1,'category') ?

Scott B Scott B
12 ian. 2011 20:21:55

Da, ID-ul categoriei ar trebui să fie același cu ID-ul termenului. Primești un răspuns care nu este eroare, deci ai sintaxa corectă. Încearcă să elimini argumentul child_of și vezi ce obții...

goldenapples goldenapples
12 ian. 2011 20:22:21

get_term_children ar trebui să funcționeze, dar va returna toate obiectele, ceea ce am crezut că nu dorești. get_terms are parametrul "fields", așa că ai putea returna doar ID-urile.

goldenapples goldenapples
12 ian. 2011 20:30:50

@GA, am găsit problema. Am setat anterior un filtru list_terms_exclusions care excludea copiii din categoria "Necategorizat" din setul de rezultate.

Scott B Scott B
12 ian. 2011 20:38:01
Arată celelalte 3 comentarii