Il sito di Fabio Cammisa

Our Blog

Usare le tassonomie in WordPress

by Fabio

Cos’è una tassonomia? In poche parole, è una collezione di elementi con una funzione o caratteristica comune. Per esempio, se ordinate il vostro cesto della frutta in base al colore, potete assegnare a ciascun gruppo una tassonomia che lo definisca. Nel mondo dei blog questo si traduce in un gruppo di post simili; in questo particolare esempio, useremo i generi musicali, ma naturalmente questo principio può essere applicato a qualsiasi argomento, che siano ricette, generi di film o un portfolio di lavori.

taxonomy wordpress

Nel nostro blog di WordPress, invece di usare i tag di categoria standard definiremo le tassonomie nel file function.php del tema. Questo file, per chi non lo sapesse, contiene tutte le funzioni aggiuntive presenti nel tema, ma che in WordPress non vengono fornite come standard.

Creiamo la nostra prima tassonomia

Andiamo nella directory del nostro tema di WordPress per aprire il file functions.php, lo troverete al percorso wordpress/wp-content/themes/nomedeltema/functions.php. Dopo aver aperto il file aggiungete alla fine del file le seguenti righe di codice:

register_taxonomy('genre', 'post', array(
'hierarchical' => false, 'label' => 'Genres',
'query_var' => true, 'rewrite' => true));
add_action( 'init', 'add_custom_taxonomies', 0 );

Salvate la pagina e provate ad entrare nel backend di WordPress, vedrete che alla voce di menu Posts è stata aggiunta la nuova sottocategoria Genres. L’ultima riga di codice, add_action, assicura che la tassonomia venga registrata al caricamento della pagina.

La proprietà register_taxonomy usa diversi valori: “name“, “type” e “arguments“.

Name è il titolo della tassonomia, nel nostro caso Genres.

Type è il post, cioè dove vogliamo usare la tassonomia.

Il terzo valore, arguments, nel nostro caso è composto da un array di argomenti che personalizzano il modo in cui viene visualizzata la tassonomia. Sostituendo il vecchio codice appena inserito con questa funzione più complessa le cose diventeranno più chiare:

function add_custom_taxonomies() { register_taxonomy(‘genre’, ‘post’, array( ‘hierarchical’ => true, ‘labels’ => array( ‘name’ => _x(‘Genres’, ‘taxonomy general name’ ), ‘singular_name’ => _x(‘Genre’, ‘taxonomy singular name’ ), ‘search_items’ => __(‘Search Genres’ ), ‘all_items’ => __( ‘All Genres’ ), ‘parent_item’ => __( ‘Parent Genre’ ), ‘parent_item_colon’ => __( ‘Parent Genre:’ ), ‘edit_item’ => __( ‘Edit Genre’ ), ‘update_item’ => __( ‘Update Genre’ ), ‘add_new_item’ => __( ‘Add New Genre’ ), ‘new_item_name’ => __( ‘New Genre Name’ ), ‘menu_name’ => __( ‘Genres’ ), ), ‘rewrite’ => array( ‘slug’ => ‘Genres’, ‘with_front’ => false, ‘hierarchical’ => true ), )); } add_action( ‘init’, ‘add_custom_taxonomies’, 0 );

Adesso, provando a riaprire il nostro backend, si potrà incominciare ad inserire le nostre tassonomie, come anche quando si crea una categoria. Fate qualche prova ed aggiungete tutte quelle di cui avete bisogno: per il nostro esempio suddivideremo i generi musicali in rock e pop, con delle sotto-categorie per ciascuno.

Scrivere un post

Ora che le tassonomie sono in posizione, create un nuovo post in WordPress. Noterete che le categorie delle tassonomie vengono mostrate sul lato destro della pagina in una sezione chiamata Genres; assegnate il post ad una delle nuove tassonomie appena create e pubblicatelo.

Visualizzare i dati delle tassonomie

Aprite il file content.php dalla cartella del vostro tema e aggiungete il codice seguente all’interno del loop. Il posto migliore dove posizionare il codice + subito dopo il tag “entry-content“, presente in quasi tutti i tempi di WordPress.

<?php wp_tag_cloud( array( 'taxonomy'=>'genre' , 'format'=>'list' ) ); ?>

Salvate il file e visualizzate il post appena creato, così da vedere i dati della tassonomia sotto forma di lista, poichè, la variabile list, appena inserita, mostra i dati nel formato <li>.

Creare un plugin per mostrare un Tag Cloud di tassonomie

Ora che possiamo accedere ai dati, creiamo un widget sidebar da posizionare sulla homepage. Questo widget mostrerà una Tag Cloud della tassonomia Genres. Nella directory dei pluginal percorso wordpress/wp-content/plugins, create un nuovo file chiamato taxonomy-sidebar.php e applicate il codice seguente. In questo modo verranno impostati i blocchi da costruzione del plugin.

<?php /* Plugin Name: Taxonomy Sidebar Plugin URI: http://localhost/ Description: Taxonomy Sidebar Plugin Author: Your Name Version: 1 Author URI: http://localhost/ */

Dopo aver impostato i dettagli del plugin, aggiungete il codice vero e proprio che si occuperà di recuperare le tassonomie da noi create, inoltre viene specificato anche l’ordine in cui verranno disposte: nel nostro caso in ordine di grandezza, a seconda del numero dei post presenti per ciascuna.

function displayTaxonomy()
{
   wp_tag_cloud( array( 'taxonomy' => 'genre', 'number' => 45 ) );
}

Funzione widget_displayTaxonomy

Ora possiamo generare un Tag Cloud a partire dalle tassonomie, ma dobbiamo ancora attivare il tutto nella sidebar, aggiungiamo quindi le seguenti righe di codice sotto quelle appena aggiunte per la funzione displayTaxonomy. Verrà così generato il codice per la sidebarnecessario a visualizzare la Tag Cloud.

function widget_displayTaxonomy($args) {
    extract($args);
    echo $before_widget;
    echo $before_title;?>Taxonomies<?php echo $after_title;
    displayTaxonomy();
    echo $after_widget;
}

Funzione displayTaxonomy_init

Dobbiamo inizializzare il plugin personalizzato: in questo modo ci assicuriamo che il riquadrodrag-and-drop apparirà nella pagina dei widget del backend di WordPress. Aggiungete quindi il codice seguente, sotto la funzione widget_displayTaxonomy del passaggio precedente.

function displayTaxonomy_init()
{
    register_sidebar_widget(__('Display Taxonomy'), 'widget_displayTaxonomy');
}

add_action("plugins_loaded", "displayTaxonomy_init");
?>

Aggiungere il widget

Salvate il file ed andate ad attivare il plugin appena creato dall’apposito pannello di amministrazione. Adesso potete finalmente aprite la pagina dei widget del vostro backend per vedere il frutto del vostro lavoro.

Ora non ci resta che trascinare il nostro nuovo widget nella sidebar desiderata del blog, notare che questo widget non dispone di nessun tipo di opzioni, dal momento che non sono state previste nel codice; le tassonomie vengono invece stabilite dal codice sorgente del plugin. Se in futuro cambiate le tassonomie, tenete presente questa considerazione.
Lobae Design - Tutorial Tassonomie 3
Qua di seguito trovate un link per scaricare il plugin appena creato: potete utilizzarlo per aiutarvi nel comprendere il tutorial, ricordatevi che per farlo funzionare dovete modificare il file functions.php, seguendo la prima parte di questo articolo, “Creiamo la nostra prima tassonomia“.

Download WordPress Plugin Taxonomy Sidebar

Conclusione

Spero che questo tutorial vi sia servito per apprendere le tassonomie all’interno diWordPress, questo semplice plugin che vi ho fatto sviluppare vi potrà aiutare ad entrare nell’ottica del funzionamento delle tassonomie e a sfruttarle al meglio… Esse possono essere utilizzate in tantissimi modi, come vi ho introdotto all’inizio: grazie ad esse avrete la possibilità di strutturare un sistema di archiviazione per i vostri siti ed i vostri blog ancora più complesso!

Cosa ne pensate? Credete che vi saranno utili le tassonomie per sviluppare i vostri siti internet?

Avete da segnalare qualche utile utilizzo di questa risorsa? Commentate qua sotto! 🙂

Share

Leave a Reply

Log in
Register
Send message