WordPress 3 riempie una serie di lacune importanti verso l'essere un serio sistema di gestione dei contenuti. La funzione di tassonomie personalizzate di facile utilizzo offre ai progettisti di siti alcuni potenti strumenti per costruire una buona architettura dell'informazione. Scopri quali sono le tassonomie, perché sono utili e come usarle nel tutorial di oggi!
Le tassonomie sono metodi diversi per classificare le cose.
Le tassonomie sono metodi diversi per classificare le cose. Questo tutorial utilizza un esempio di post su diversi computer desktop, che possono essere classificati secondo una serie di criteri distinti, tra cui:
Prima della versione 2.3, WordPress aveva solo una tassonomia generica, chiamata Categoria, per i Post. Ciò ha funzionato bene per i blog, poiché è possibile creare una categoria di livello superiore denominata "Computer desktop", con una sottocategoria denominata "RAM", che potrebbe avere sottocategorie come "Meno di 1 GB", "1 GB", "2 GB a 4 GB "e così via. Una seconda categoria secondaria di "Computer desktop" potrebbe essere chiamata "Sistema operativo", con sottocategorie come "Windows XP", "Mac OS", "Red Hat", "Ubuntu" e così via..
Quando un sistema ti permette di avere categorie che possono essere suddivise in sottocategorie, la chiamiamo struttura gerarchica. Il meglio che si potesse fare per un'architettura di sito seria prima di WordPress versione 2.3 era creare una grande gerarchia di categorie, in cui le categorie di livello superiore rappresentavano gruppi di tassonomia di grandi dimensioni.
La versione 2.3 di WordPress ha aggiunto un altro tipo di tassonomia chiamato Tag. Mentre le categorie sono di solito pensate in anticipo, specifiche per i tipi di contenuti di un sito, i tag forniscono un metodo più libero e improvvisato di classificazione dei contenuti.
Ad esempio, quando si scrive un post su un determinato computer desktop, i tag consentono all'autore di digitare una o più parole chiave come "gioco", "tivo", "fan rumoroso" e così via. Queste parole chiave potrebbero non avere senso come categorie del sito, ma aiutano a fornire una classificazione aggiuntiva a un post. I visitatori del sito potrebbero quindi trovare facilmente tutti i post contrassegnati con "fan rumoroso" in seguito. La natura a mano libera dei tag, tuttavia, non ci aiuta a creare un solido sistema di classificazione attorno a valori noti come i tipi di sistemi operativi o tipi di CPU. I tag sono anche monodimensionali, non consentendo alcuna struttura gerarchica.
La versione 2.8 di Wordpress ha reso possibile aggiungere schemi di classificazione personalizzati con poche modifiche al codice sul tuo sito. Ciò ti ha permesso di creare un elenco di possibili sistemi operativi, separati da un elenco di possibili tipi di RAM e così via. Tuttavia, non consentiva che queste tassonomie personalizzate venissero costruite in una gerarchia simile alla tassonomia delle categorie generiche.
Infine, WordPress versione 3 ci offre tassonomie personalizzate completamente gerarchiche. Si noti come la natura gerarchica ci consenta di semplificare la tassonomia del sistema operativo, ad esempio, inserendo tutte le varianti di Windows in una classificazione padre "Windows". Ciò consentirà ai visitatori di vedere tutti i post classificati con qualsiasi sistema operativo Windows, o consentire loro di essere più specifici e vedere solo i messaggi classificati con Windows XP, ad esempio.
WordPress versione 3 non ti permette di creare tassonomie personalizzate dalla schermata di amministrazione. Per definire inizialmente le tassonomie personalizzate senza un plug-in, è necessario aggiungere un po 'di codice al file functions.php del tema. Questo non è troppo difficile - segui semplicemente il mio esempio.
Per aggiungere tassonomie personalizzate, è necessario modificare il file "functions.php" che si trova all'interno della directory del tema. Per esempio, sto usando il tema "ventiten" predefinito che viene fornito con WordPress 3.0, e la mia installazione di WordPress è in una directory chiamata "wp". Il mio file functions.php è quindi in:
[Website_root] /wp/wp-content/themes/twentyten/functions.php.
Continueremo con l'esempio del computer desktop, aggiungendo tassonomie separate per RAM, disco rigido e sistema operativo. A questo punto, stiamo semplicemente aggiungendo le stesse tassonomie, come contenitori vuoti. Fortunatamente, possiamo aggiungere e gestire le diverse classificazioni, come "Windows XP", dal comfort della dashboard dell'amministratore.
Innanzitutto, abbiamo bisogno di costruire una funzione che crei tutte le tassonomie di cui abbiamo bisogno. Chiameremo la funzione "build_taxonomies". Aggiungiamo questa funzione alla fine del file functions.php.
function build_taxonomies () // code andrà qui
Successivamente, per ogni tassonomia che vogliamo creare, dobbiamo chiamare una particolare funzione WordPress con i parametri corretti. Ecco la funzione e i suoi parametri importanti spiegati.
register_taxonomy ('internal_name', 'object_type', array ('hierarchical' => true | false, 'label' => 'Human Readable Name', 'query_var' => true | false, 'rewrite' => true | false));
La nostra voce specifica per aggiungere la tassonomia del Sistema operativo è così:
register_taxonomy ('operating_system', 'post', array ('hierarchical' => true, 'label' => 'Operating System', 'query_var' => true, 'rewrite' => true));
Vai avanti e aggiungilo alla funzione "build_taxonomies".
"register_taxonomy" è ulteriormente definito all'interno del codice WordPress.
Abbiamo bisogno di aggiungere un'altra riga al file "functions.php" così la nostra funzione "build_taxonomies" sarà effettivamente eseguita. Ci "agganceremo" la funzione "build_taxonomies" all'evento "init" aggiungendo il seguente codice:
add_action ('init', 'build_taxonomies', 0);
Puoi aggiungere questa linea ovunque, ma generalmente la aggiungo al di sopra della funzione che stiamo chiamando, quindi sarebbe simile a questa:
// Codice tassonomia personalizzato add_action ('init', 'build_taxonomies', 0); function build_taxonomies () register_taxonomy ('operating_system', 'post', array ('hierarchical' => true, 'label' => 'Operating System', 'query_var' => true, 'rewrite' => true));
Ulteriori informazioni su add_action.
Una volta aggiunta correttamente la tassonomia del "Sistema operativo" al file "functions.php", questa dovrebbe apparire come un nuovo elemento nel pannello "Post" della tua dashboard. Fai clic sul nome della tassonomia per aggiungere e modificare le classificazioni che desideri includere.
Ora puoi aggiungere e modificare i sistemi operativi proprio come faresti con le categorie generiche.
Se si desidera aggiungere le tassonomie "RAM" e "Disco rigido" da seguire insieme all'esempio, è sufficiente aggiungere quanto segue al file functions.php:
register_taxonomy ('ram', 'post', array ('hierarchical' => true, 'label' => 'RAM', 'query_var' => true, 'rewrite' => true)); register_taxonomy ('hard_drive', 'post', array ('hierarchical' => true, 'label' => 'Hard Drive', 'query_var' => true, 'rewrite' => true));
Una volta terminato, la sezione modificata del tuo file functions.php sarà simile a questa:
// Codice tassonomia personalizzato add_action ('init', 'build_taxonomies', 0); function build_taxonomies () register_taxonomy ('operating_system', 'post', array ('hierarchical' => true, 'label' => 'Operating System', 'query_var' => true, 'rewrite' => true)); register_taxonomy ('ram', 'post', array ('hierarchical' => true, 'label' => 'RAM', 'query_var' => true, 'rewrite' => true)); register_taxonomy ('hard_drive', 'post', array ('hierarchical' => true, 'label' => 'Hard Drive', 'query_var' => true, 'rewrite' => true));
Crea alcuni nuovi post e vedrai le nuove opzioni di tassonomia visualizzate nella schermata Modifica post. Seleziona le classificazioni che ritieni applicabili ai tuoi post.
Nulla di ciò che abbiamo fatto finora può essere visto dai visitatori del tuo sito. Vorremmo che i post mostrassero le tassonomie personalizzate in cui sono classificati, proprio come i post in genere rivelano le loro categorie e tag.
Per fare ciò, abbiamo solo bisogno di fare una semplice aggiunta al ciclo in alcuni file modello.
Nel tema venti, e molti altri, le categorie e i tag di un post sono elencati sotto il corpo del testo. Aggiungeremo le informazioni sulla tassonomia personalizzate, se presenti, appena prima della categoria e delle informazioni sui tag.
Per far sì che ciò accada, dovremo modificare il file modello "single.php", che viene normalmente chiamato per visualizzare un singolo post. Il mio file single.php è: [website_root] /wp/wp-content/themes/twentyten/single.php.
In single.php, trova la linea con:
Questo appare poco prima del:
In venti, questo div contiene le categorie, i tag, il permalink e altri dati per il post corrente. Inseriremo le nostre informazioni sulla tassonomia proprio sopra questo div.
Passaggio 2 Recuperare le informazioni sulla tassonomia relative alla posta corrente
Compilare alcune variabili per conservare l'output di informazioni sulla tassonomia e le diverse informazioni sulla tassonomia che potremmo aspettarci di trovare.
ID, 'operating_system', 'Sistemi operativi): ',', ', ");Qui, chiamiamo la funzione WordPress "get_the_term" con i seguenti parametri:
- $ Post-> ID : l'id del post corrente.
- 'sistema operativo' : il nome della tassonomia personalizzata che stiamo verificando per i dati. Chiediamo se al post corrente sono state assegnate classificazioni nella tassonomia 'operating_system'.
- 'Sistemi operativi)' : Se viene restituito qualcosa, questa è la stringa che ci piacerebbe avere di fronte.
- ',' : Se vengono restituiti più articoli, questa è la stringa con cui vorremmo averli separati.
- " : Se viene restituito qualcosa, questa è la stringa che ci piacerebbe avere dietro. In questo caso, non vogliamo aggiungere nulla dietro al risultato.
Faremo lo stesso per le altre due tassonomie che potremmo aspettarci di contenere i dati:
$ ram_list = get_the_term_list ($ post-> ID, 'ram', 'Opzione (s) di RAM: ',', ', "); $ hd_list = get_the_term_list ($ post-> ID,' hard_drive ','Opzione (i) disco rigido: ',', ', ");Maggiori informazioni:
Ulteriori informazioni su "get_the_term_list".
Passaggio 3 Formattare i risultati da Classificazioni, se presenti
Controlla i risultati in ciascuna delle tre possibili tassonomie. Se esistono, aggiungili al nostro output, così come un interruzione di riga.
// Aggiungi la lista OS se questo post è stato così taggato if ("! = $ Os_list) $ taxo_text. =" $ Os_list
\ n "; // Aggiungi l'elenco RAM se questo post è stato taggato così ("! = $ ram_list) $ taxo_text. = "$ ram_list
\ n "; // Aggiungi l'elenco HD se questo post è stato taggato se ("! = $ hd_list) $ taxo_text. = "$ hd_list
\ n ";
Passaggio 4 Visualizzare i risultati della classificazione, se presenti
Controlla se i passaggi precedenti hanno dato come risultato qualsiasi informazione sulla tassonomia. Se esistono informazioni sulla tassonomia, la restituiremo racchiusa in un div di "entry-utility" di classe.
// Fornire informazioni sulla tassonomia se ce ne fossero // NOTA: non apriremo nemmeno div se non c'è nulla da mettere al suo interno. if ("! = $ taxo_text) ?>// endif ?>
Passaggio 5 Controllare i risultati
Visita una pagina di post e dovresti visualizzare le classificazioni di tassonomia personalizzate elencate di seguito.
Visualizzazione di un elenco di post per classificazione tassonomica
Ora i nostri post individuali ci dicono quali tassonomie personalizzate sono stati classificati. Quando elencano una classificazione di tassonomia personalizzata, forniscono anche un link per elencare tutti i post sotto quella classificazione. Ad esempio, facendo clic sul link "Mac OS" accanto a "Sistemi operativi" sotto il nostro post verranno teoricamente elencati tutti i post con la classificazione del sistema operativo "Mac OS".
Tuttavia, ciò non avviene immediatamente con WordPress versione 3. Dovremo creare un file modello personalizzato per la visualizzazione degli archivi di tassonomia affinché funzioni. WordPress consente già ai visitatori di visualizzare tutti i post assegnati a una particolare categoria o tutti i post con un determinato tag. Quando avremo finito, saremo in grado di visualizzare anche tutti i post assegnati a particolari classificazioni nelle nostre tassonomie personalizzate.
Per far sì che ciò accada, dovremo creare il file modello "tassonomy.php". WordPress proverà a utilizzare questo file ogni volta che vorrà elencare i post in una tassonomia personalizzata.
Passo 1
Apri il file "category.php", copia il suo contenuto e incollalo in un nuovo file chiamato "taxonomy.php". Salva taxonomy.php nella directory dei temi. Ad esempio, il mio file taxonomy.php è in:
[Website_root] /wp/wp-content/themes/twentyten/taxonomy.php.
Passaggio 2 Ottieni informazioni sulla classificazione della tassonomia corrente
Nel file taxonomy.php, abbiamo bisogno di ottenere informazioni sulla tassonomia elencata. Probabilmente vorremmo il nome e la descrizione (se ce ne sono) per la classificazione selezionata.
Poco sotto , aggiungi la seguente riga:
$ term = get_term_by ('slug', get_query_var ('term'), get_query_var ('tassonomia'));Ciò ottiene tutte le informazioni sulla tassonomia che ha chiamato questa pagina e la restituisce come un oggetto nella variabile $ term. Ad esempio, la classificazione "Mac OS" restituisce un oggetto in quanto tale:
stdClass Object ([term_id] => 13 [name] => Mac OS [slug] => mac-os [term_group] => 0 [term_taxonomy_id] => 22 [tassonomia] => operating_system [description] => [parent] => 0 [count] => 2)
Passaggio 3 Visualizza Nome e descrizione della classificazione
Vogliamo cambiare il nome della pagina per dire ai visitatori cosa stanno guardando. Da quando abbiamo iniziato con il template category.php, possiamo prendere la linea che usava per stampare il nome della categoria e cambiarla un po 'per darci il nome della pagina desiderata e, se applicabile, la descrizione.
Cambia la seguente riga da category.php:
printf (__ ('Archivi di categoria:% s', 'ventiten'), ''. single_cat_title (", false)."');
Per leggere come segue:
printf (__ ('Messaggi classificati sotto:% s', 'ventiten'), ''. $ term_name. '');
Ciò modifica il testo statico che inizia la riga e quindi inserisce il nome della classificazione. (Nota: per una corretta localizzazione, dovremmo aggiungere "Post classificati sotto:" correttamente al file languages / twentyten.pot. Questo è al di fuori dello scopo di questo tutorial, ma sii consapevole della trasgressione qui.)
Quindi aggiungere il seguente:
if ("! = $ term_descr) echo"$ term_descr
\ n ";Se esiste una descrizione per questa classificazione, verrà visualizzata appena sotto il titolo.
Dopo aver apportato le modifiche a taxonomy.php, visita uno dei tuoi post a cui è stata assegnata una classificazione di tassonomia personalizzata. A causa del nostro precedente lavoro nel file "single.php", il post dovrebbe mostrare le classificazioni personalizzate sotto di esso. Basta fare clic su una di quelle classificazioni per vedere l'elenco tassonomia al lavoro.
Conclusione
Spero che questo tutorial spieghi chiaramente quali sono le tassonomie e ti ha mostrato come utilizzarle in WordPress 3 come un potente strumento organizzativo. Spero di fornire un tutorial di follow-up che spieghi presto i tipi di post personalizzati di WordPress, la loro stretta relazione con le tassonomie personalizzate e come usarli. Grazie mille per aver dedicato del tempo a visitare Nettuts!