Very short snippet: come recuperare la categoria padre in Wordpress

venerdì 20 marzo, 2009

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:

PHP:
  1. /**
  2.  * Ritorna la categoria padre di un post
  3.  *
  4.  * @return
  5.  * @param object $post_id
  6.  */
  7. function get_parent_category( $post_id ) {
  8.     $cats = wp_get_object_terms($post_id, 'category', array('fields' => 'all') );
  9.     foreach( $cats as $key => $cat ) if( $cat->parent == 0) return $cat;
  10.     return null;
  11. }

Post correlati

Questo articolo ti è stato utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Loading ...

2 commenti a: “Very short snippet: come recuperare la categoria padre in Wordpress”

  1. 21 mar, 2009 luca:

    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?

  2. 22 mar, 2009 Giovambattista Fazioli:

    @luca:

    è possibile creare più categorie padre e assegnare a ciascuna di esse categorie figlio con lo stesso nome?

    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:

    Padre 1 ->Figlio 1
    Padre 2 -> Figlio 1

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre>         // blocco generico
[code][/code]       // blocco generico
[as][/as]           // Actionscript
[css][/css]         // CSS Style Sheet
[html][/html]       // HTML
[js][/js]           // Javascript
[objc][/objc]       // Objective-C
[php][/php]         // PHP
[sql][/sql]         // SQL