Listare categorii 'child_of' după slug în loc de ID

1 feb. 2011, 13:48:17
Vizualizări: 19.4K
Voturi: 4

Vreau să listez categoriile care aparțin unei categorii părinte. Problema este că folosirea ID-urilor de categorie nu este utilă și face lucrurile mai greu de înțeles.

Există vreo metodă mai ușoară de a lista categoriile copil ale unui părinte, similară cu cea oferită implicit în codul WP?

<?php wp_list_categories('child_of=8'); ?> //ce categorie este '8' ?!

<?php wp_list_categories('child_of=clients'); ?> //mult mai clar, dar nu funcționează

Aș prefera să evit o altă interogare în buclă, dar pentru a face codul mai ușor de înțeles pentru alți dezvoltatori, s-ar putea să fiu nevoit.

0
Toate răspunsurile la întrebare 2
1

Puteți obține ID-ul din slug destul de ușor:

$category = get_category_by_slug( 'clients' );
wp_list_categories('child_of='.$category->term_id);
1 feb. 2011 14:13:11
Comentarii

Aproape am sugerat ceva similar folosind get_term_by.. get_cat_ID este mai ușor de utilizat pentru că nu este nevoie să referiți proprietăți ale obiectului. +1 din partea mea, totuși, tot un răspuns valoros!.. :)

t31os t31os
1 feb. 2011 14:19:52
4

Doriți toți copiii unei categorii setate? Aceasta este esențialmente ceea ce face parametrul child_of, obținând toți descendenții unui termen (categorie).

Dacă doriți doar termenii care au un părinte direct anume, atunci ar trebui să folosiți parent.

În ceea ce privește utilizarea unui ID, acest lucru ar trebui să funcționeze..

<?php
// Obține ID-ul pentru categoria denumită
$cat_term_id = get_cat_ID( 'my-cat' );

wp_list_categories("parent=$cat_term_id");
//wp_list_categories("child_of=$cat_term_id");
?>

Documentația get_cat_ID.


Sper că vă ajută..

1 feb. 2011 14:14:14
Comentarii

NOTĂ: get_cat_ID de asemenea așteaptă slug-ul, și nu numele, ca la get_category_by_slug .. (totuși aceasta va returna doar ID-ul, și nu un obiect).

t31os t31os
1 feb. 2011 14:16:32

hmm, cred că nota ta este inversată :) get_cat_ID() așteaptă numele, get_category_by_slug() așteaptă slug-ul.

Rarst Rarst
1 feb. 2011 14:20:09

@Rarst - Scuze, greșeala mea, într-adevăr așteaptă numele (aveam doar această amintire în cap despre o funcție de categorie care este documentată să aștepte un nume, dar de fapt așteaptă slug-ul - am încurcat lucrurile).. ;)

t31os t31os
1 feb. 2011 14:36:49

Și eu îmi amintesc că exista o funcție asemănătoare, dar nu este niciuna dintre acestea două... ura pentru atâtea funcții :)

Rarst Rarst
1 feb. 2011 15:10:47