Verifică dacă o categorie este părinte din ID-ul său în WordPress
Întrebarea este simplă (nici eu nu știu răspunsul ;)
Vreau să verific dacă o categorie are subcategorii (sau este strămoș) folosind doar ID-ul categoriei într-o funcție.
Exemplu:
function check_category ($catid){<br/>............<br/>...//true dacă este strămoș, false dacă nu<br/>return $result;<br/>}
Notă: Pot folosi doar parametrul cat-id pentru funcție pentru că trebuie să o folosesc în functions.php
Mulțumesc anticipat...
Puteți face ceva de genul acesta:
function category_has_parent($catid){
$category = get_category($catid);
if ($category->category_parent > 0){
return true;
}
return false;
}
și să o folosiți astfel:
if (category_has_parent('22')){
//true - există o categorie părinte
}else{
//false - această categorie nu are părinte
}
Actualizare:
pentru a verifica invers (dacă o categorie are subcategorii) puteți folosi get_categories
$children = get_categories(array('child_of' => id,'hide_empty' => 0));
if (count($children) > 1){
//are subcategorii
}else{
//nu are subcategorii
}

Primul fragment poate fi probabil simplificat la return $category->category_parent
.

@Bainternet, îmi pare rău dar am pus întrebarea incorect. Vreau să aflu dacă această categorie ($catid) este cea mai din jos? Adică, dacă o categorie nu are copii, atunci este cea mai din jos... Mulțumesc anticipat...

Deci ai nevoie de opusul acestui lucru, în loc să verifici dacă are părinte vrei să verifici dacă are categorii copil?

@Bainternet, da și am rezolvat problema cu: $catlist = wp_list_categories('echo=0&orderby=id&hide_empty=0&title_li=&child_of='.$categoryid); if (($catlist)!='<li>No categories</li>')

@Alper, verifică din nou răspunsul, am adăugat o metodă mult mai elegantă de a face asta.

Consultă Codex-ul: http://codex.wordpress.org/Function_Reference/get_category_parents
// returnează true sau false
function check_category( $cat_id ){
$parent = '';
$parent = get_category_parents( $cat_id );
return empty($parent);
}

Nu cred că acest lucru va funcționa, din punct de vedere mecanic get_category_parents()
va avea întotdeauna în output cel puțin categoria însăși.
