In WordPress le categorie possono essere organizate in una struttura “padre” “figlio”. Questo significa che un singolo post può appartenere a più categorie. Può tornare utile in alcuni casi determinare, a prescindere dai “figli”, quale sia la categoria padre di un post:
1 2 3 4 5 6 7 8 9 10 11 | /** * Ritorna la categoria padre di un post * * @return * @param object $post_id */ function get_parent_category( $post_id ) { $cats = wp_get_object_terms($post_id, 'category', array('fields' => 'all') ); foreach( $cats as $key => $cat ) if( $cat->parent == 0) return $cat; return null; } |








11
grazie per il tip e complimenti per il blog pieno di contenuti interessanti. volevo fare una domanda a proposito di categorie padre e figlio: è possibile creare più categorie padre e assegnare a ciascuna di esse categorie figlio con lo stesso nome?
@luca:
Attualmente WordPress questo non lo permette. Nonostante sia possibile decidere il padre, e quindi a livello logico evitare di confondere due categorie identiche (a livello di nome), WordPress impedisce l’uso del medesimo nome per una categoria, anche se questa appartiene a padri diversi.
Tuttavia è possibile aggirare parzialmente l’ostacolo con un piccolo artefizio: si creano due padri “Padre 1″ e “Padre 2″. Si crea un primo “Figlio 1″ e gli si associa come padre “Padre 1″. Si crea poi “Figlio A” e gli si associa “Padre 2″. Fatto questo si va a modificare il nome di “Figlio A” in “Figlio 1″, anche se lo “slug” (abbreviazione) rimane “figlio-a”. A questo punto abbiamo: