Come lavorare con WordPress Term Meta Comprendere le Tassonomie

In una serie recente, abbiamo parlato di come potremmo lavorare con i metadati per molte delle principali classi in WordPress. 

Questo includeva:

  • Pubblica metadati
  • Metadati dell'utente
  • Commenta i metadati

Durante la serie, abbiamo parlato un po 'di come WordPress 4.4 ha introdotto l'idea dei metadati termine. Non volevo presentare il concetto nel contesto di quella serie perché dipendeva dalla comprensione di qualcosa che spesso dà ai principianti un po 'di problemi.

Questo è ciò che Questo serie si propone di affrontare.

Informazioni su WordPress, tassonomie e termini

In WordPress, i concetti di tassonomie e termini vanno insieme. Elaborerò di più su questo in un solo momento. Ma per funzionare correttamente con i metadati termine, credo sia importante capire le tassonomie, i termini e le loro relazioni. Altrimenti, in quale altro modo possiamo avere una comprensione end-to-end di ciò che stiamo facendo quando lavoriamo con loro a livello di programmazione?

In questa serie di follow-up di due articoli, daremo un'occhiata alle tassonomie, a cosa sono, al ruolo che svolgono in WordPress e alla loro relazione con i termini. Quindi concentreremo la nostra attenzione sui termini e su come utilizzare il nuovo termine API dei metadati.

Se non hai ancora letto la serie precedente, ti consiglio di farlo in quanto creerà alcune basi su come l'API che andremo ad esplorare funzioni. Se, tuttavia, decidi di non farlo, va bene. Questa serie dovrebbe coprire tutto ciò che devi sapere.

Cosa sono le tassonomie?

Come definito nel codice:

In WordPress, una "tassonomia" è un meccanismo di raggruppamento per alcuni post (o collegamenti o tipi di messaggi personalizzati).

Certo, non è una parola che si sente spesso e, a volte, altri si confondono quando si parla di tassonomie e termini. Cioè, useranno una frase di esempio come esempio di tassonomia, ma quello che stanno facendo, in quel caso, sta usando un termine. Ne parlerò tra poco.

In parole povere, pensa alle tassonomie come a un modo per raggruppare le cose. Fuori dalla scatola, WordPress viene fornito con due tassonomie: categorie e tag. Parleremo di ciascuno di questi in modo più dettagliato momentaneamente.

Ora, c'è un avvertimento, almeno quando si parla di WordPress: le tassonomie possono essere gerarchiche o non gerarchiche. Forse l'esempio più comune di questa idea è il seguente:

  • Quando crei una categoria in WordPress, hai la possibilità di crearla come categoria di primo livello o come sottocategoria di una categoria preesistente. Ad esempio, a aquila potrebbe essere una sottocategoria di uccelli
  • Quando crei un tag in WordPress, crei una singola parola o frase con cui vuoi timbrare (o, più letteralmente, taggare) il tuo post. Non esiste la nozione di tag figlio o tag padre.

E questa è la differenza tra tassonomie gerarchiche e non gerarchiche. È facile, non è vero? Quelli che supportano i bambini, come le categorie, sono gerarchici; quelli che non supportano i bambini, come i tag, non sono gerarchici.

Con il lavoro che faremo in questa serie, questo non ha particolarmente un ruolo se non quello di aiutarci ad acquisire una comprensione più profonda di cosa significhi questa lingua nel contesto dei nostri sforzi di sviluppo.

Ma quando iniziamo a creare queste entità a livello di codice e aggiungiamo metadati a loro, non ci dovrebbe essere alcuna confusione su ciò che stiamo facendo.

Quali sono i termini?

Abbiamo definito la tassonomia, ma per quanto riguarda i termini? Dal codice:

In WordPress, un termine è una classificazione, un gruppo o un sottoinsieme di una Tassonomia, in cui quest'ultimo può essere una categoria, un tag o una tassonomia personalizzata. Per impostazione predefinita, i termini hanno un titolo, una lumaca e una descrizione. Le tassonomie gerarchiche come le categorie possono definire un termine genitore.

Dato quello che abbiamo discusso finora, questo è esattamente ciò che dovremmo aspettarci. Cioè, i termini sono associati alle tassonomie. I termini, tuttavia, hanno alcuni aspetti importanti di cui dovremmo essere a conoscenza, specialmente se li creeremo o lavoreremo con loro a livello di programmazione. 

Cioè, i termini sono composti da:

  • una lumaca
  • un titolo
  • una descrizione

Ricorda che se stiamo lavorando con una tassonomia gerarchica, come una categoria, allora il termine può opzionalmente includere un termine genitore. 

Per essere chiari, questo non significa che una tassonomia non abbia una serie di informazioni ad essa correlate. Ad esempio, una tassonomia richiede un nome, un tipo di post a cui è associato e un numero di argomenti che non rientrano nell'ambito di applicazione Questo articolo. Ne vedremo di più nel prossimo articolo, però.

Come sono correlati?

La relazione tra tassonomie e termini è in qualche modo simbiotica, il che significa che non si può esistere senza l'altro. Ciò è particolarmente vero in quanto riguarda le tassonomie gerarchiche.

Innanzitutto, per coloro che sono interessati, il codice WordPress fornisce un diagramma che spiega la relazione:

Ad esempio, potresti avere un Categoria tassonomia, ma devi avere almeno un termine associato ad esso. Questo è il motivo per cui WordPress viene fornito con un valore predefinito Non categorizzato termine.

D'altra parte, è possibile creare un Etichetta tassonomia, ma non ha alcun tag che esiste all'interno del database. 

Ma, come sviluppatori, possiamo fare un passo in più? Cioè, anche se tutti questi possono essere creati a livello di codice, gli utenti hanno la possibilità di crearli e aggiungerli. Almeno, se l'interfaccia utente espone un'opzione per farlo. 

Caso in questione: quando guardi l'interfaccia utente di WordPress, abbiamo tutti la possibilità di creare categorie e tag.

Se, tuttavia, sei un programmatore e desideri collegare determinate tassonomie e termini nel database, hai la possibilità di farlo e impedire agli utenti di aggiungerli e rimuoverli dall'interfaccia utente.

Che cosa è il termine Metadata?

Abbiamo definito le definizioni di tassonomie e termini, nonché le differenze tra loro, ma rimane una domanda: perché abbiamo bisogno di metadati termine? O, forse in alternativa, qual è il punto del termine metadata?

Questa è una buona domanda, ed è probabilmente parte del motivo per cui questa funzione non è stata introdotta fino a WordPress 4.4. È interessante notare che il biglietto per questa funzione è stato introdotto per la prima volta più di sei anni fa. La motivazione principale per il ticket (direttamente da Trac stesso) afferma:

Al momento non esiste un modo dedicato per archiviare dati aggiuntivi per la tassonomia. Gli sviluppatori di plugin devono sviluppare il proprio metodo per archiviare questi dati, ad es. memorizzandoli codificati nel campo della descrizione o usando set_option (). Sarà utile aggiungere nuove funzioni per questo, ad es. add_taxonomy_data () / get_taxonomy_data ().

Se sei uno sviluppatore esperto di WordPress, questo ha perfettamente senso. Ma non tutti siamo ancora in grado di raggiungere questo livello, quindi non siamo sicuri di quali vantaggi ci siano.

Come tutte le altre API, ci consente di archiviare le informazioni su qualsiasi termine che esiste all'interno del database. Questo potrebbe essere qualsiasi cosa legato al momento in cui è stato creato il termine, chi ha creato il termine, o quanti post sono taggati con un determinato termine, o ci permette di associare un'immagine con un termine.

Poiché supporta un livello di informazioni arbitrarie, le possibilità sono estremamente ampie su ciò che possiamo fare con queste informazioni. E a partire dal prossimo articolo, vedremo esattamente questo.

Conclusione

A questo punto, dovresti avere tutto ciò che devi sapere per lavorare con tassonomie e termini. Certo, probabilmente dovrai leggere il codice alcune volte mentre lavori su un plugin, un tema o una soluzione personalizzata per un cliente, ma non è anormale nemmeno per uno sviluppatore esperto.

Nel prossimo articolo, daremo un'occhiata a come lavorare con i metadati dei termini. In particolare, esamineremo il codice di esempio, lo collegheremo a uno dei temi predefiniti in WordPress e monitoreremo il database mentre apportiamo le modifiche.

Nel frattempo, se sei interessato a WordPress, allo sviluppo di software o all'incrocio tra i due, ricorda di dare un'occhiata alla pagina del mio profilo che include link a tutti i corsi e tutorial che ho pubblicato su Envato Tuts+. 

In secondo luogo, non esitate a seguirmi su Twitter all'indirizzo @tommcfarlin, dove spesso parlo e condivido risorse relative a WordPress, o seguo il mio blog dove scrivo quotidianamente del lavoro che sto facendo con WordPress o argomenti che sono correlati tangenzialmente ad esso.

Infine, se stai cercando altre utilità che ti aiutino a costruire il tuo set crescente di strumenti per WordPress o che il codice studi e diventi più esperto in WordPress, non dimenticare di vedere cosa abbiamo a disposizione nel mercato Envato.

Fino ad allora, non esitare a lasciare domande o commenti qui sotto, e farò il possibile per rispondere a ciascuno di essi.