Verificare se una categoria è genitore dal suo ID
La domanda è semplice (non conosco nemmeno la risposta ;)
Voglio solo verificare se una categoria ha figli (o è un antenato) dal suo cat-id con una funzione.
Esempio:
function check_category ($catid){<br/>............<br/>...//true se è antenato, false se non lo è<br/>return $result;<br/>}
Nota: Posso passare solo il parametro cat-id per la funzione perché devo usarlo in functions.php
Grazie in anticipo...
Puoi fare qualcosa del genere:
function category_has_parent($catid){
$category = get_category($catid);
if ($category->category_parent > 0){
return true;
}
return false;
}
e usarla in questo modo:
if (category_has_parent('22')){
//vero, c'è una categoria genitore
}else{
//falso, questa categoria non ha un genitore
}
Aggiornamento:
per verificare il contrario (se una categoria ha figli) puoi usare get_categories
$children = get_categories(array('child_of' => id,'hide_empty' => 0));
if (count($children) > 1){
//ha figli
}else{
//non ha figli
}

Il primo snippet può probabilmente essere semplificato in return $category->category_parent
.

@Bainternet, mi dispiace ma ho posto la domanda in modo errato. Voglio sapere se questa categoria ($catid) è quella più in fondo? Intendo dire, se una categoria non ha figli allora è quella più in fondo... Grazie in anticipo...

Quindi ti serve l'opposto di quello, invece di verificare se ha un genitore vuoi verificare se ha categorie figlie?

@Bainternet, sì e ho risolto il mio problema con: $catlist = wp_list_categories('echo=0&orderby=id&hide_empty=0&title_li=&child_of='.$categoryid); if (($catlist)!='<li>No categories</li>')

@Alper, controlla di nuovo la risposta, ho aggiunto un modo molto più elegante per farlo.

Dai un'occhiata al Codex: http://codex.wordpress.org/Function_Reference/get_category_parents
// restituisce vero o falso
function check_category( $cat_id ){
$parent = '';
$parent = get_category_parents( $cat_id );
return empty($parent);
}

Non credo che funzionerà, per meccanica get_category_parents()
il suo output conterrà sempre almeno la categoria stessa.
