Le tassonomie sono ciò che porta WordPress oltre una semplice piattaforma di blogging e nei regni di un CMS.
Ma come sono memorizzati nel database?
Tassonomie e termini sono una potente funzionalità di WordPress che ti consente di aggiungere molta più flessibilità ai tuoi siti. Sono correlati a due altri tipi di contenuto: post e link e la struttura del database indica che si tratta di una relazione uno-a-molti, in cui un post può avere più termini su più tassonomie e un termine può essere assegnato a più post o link.
Inizierò definendoli, come in così tante cose in WordPress, la terminologia può essere fonte di confusione!
Una tassonomia è un sistema di categorizzazione o classificazione delle cose, normalmente in modo gerarchico. La tassonomia più famosa è la tassonomia linnea che viene utilizzata per classificare gli esseri viventi.
In WordPress, le tassonomie sono utilizzate per classificare i dati e raggrupparli in insiemi e sottoinsiemi.
WordPress ha tre tassonomie integrate:
Le categorie e i tag sono un po 'come post e pagine in quanto sono dello stesso tipo di contenuto (tassonomie) ma si comportano diversamente per impostazione predefinita, in quanto le categorie sono gerarchiche e i tag non sono.
La tassonomia della categoria di collegamento funziona in modo simile ai tag e potrebbe teoricamente essere utilizzata per qualsiasi tipo di oggetto, ma per impostazione predefinita non viene visualizzata nella schermata di modifica del post e si trova nella schermata di modifica del collegamento se i collegamenti sono stati abilitati.
Puoi anche aggiungere tutte le tassonomie che vuoi usando le tassonomie personalizzate. Questi si comportano in un modo simile a categorie e tag e hanno termini. Ognuna delle tue tassonomie ha quindi lo stesso status di una qualsiasi delle tassonomie incorporate. Questo è simile in un modo per un confronto tra post e tipi di messaggi personalizzati.
Ogni tassonomia avrà i termini che usi per ordinare i tuoi dati. Una categoria è solo un termine nella tassonomia di categoria e un tag è un termine nella tassonomia dei tag. Quando crei tassonomie, creerai i termini per le tue tassonomie tramite il dashboard di WordPress o usando la funzione wp_insert_term ().
I termini possono essere molto potenti se combinati con query personalizzate: puoi creare file modello personalizzati nei tuoi temi o plug-in per visualizzare post con più termini, ordinare per termini, identificare i termini tra tassonomie e molto altro.
Come ho descritto nel tutorial sulle relazioni tra i dati, WordPress usa una relazione molti-a-molti. Questa relazione viene creata utilizzando tre tabelle:
wp_term_relationships
wp_term_taxonomy
wp_terms
Queste tabelle sono mostrate di seguito, insieme alle tabelle a cui sono collegate, wp_posts
e wp_links
:
Diamo un'occhiata a ciascuna delle tabelle e come funziona.
Il wp_terms
tabella memorizza tutti i singoli termini per categorie, tag, categorie di collegamenti e tassonomie personalizzate. Ha solo quattro campi:
term_id
è l'ID univoco per il terminenome
lumaca
term_group
è un campo che non è attualmente utilizzato da WordPress, quindi puoi tranquillamente ignorarlo.Il wp_term_taxonomy
la tabella memorizza più dati sui termini e sui taxomies di cui fanno parte. Ha sei campi:
term_taxonomy_id
memorizza un ID per il record in questa tabellaterm_id
rappresenta l'ID del termine, collegato al suo record in wp_termstassonomia
è il nome della tassonomia in cui si trova il terminedescrizione
genitore
si riferisce al termine genitore del termine, se la tassonomia è gerarchica e ne ha unocontare
è il numero di post con il termineIn molte installazioni di WordPress, ci sarà un record nel wp_term_taxonomy
tabella per ogni termine nel wp_terms
tabella, ma in alcuni casi avrai più di un record per ogni termine. Questo accade quando crei due termini con lo stesso nome e lo stesso slug in tassonomie diverse e ciò significa che puoi creare una query per generare messaggi con quel termine in più tassonomie.
Ciò significa che la relazione tra queste due tabelle è uno-a-molti: un record nel wp_terms
tabella può essere collegata a più record nel wp_term_taxonomy
tabella, ma ogni record in wp_term_taxonomy
è solo collegato a un record in wp_terms
.
Il wp_term_relationships
tabella è fondamentale per creare la relazione molti-a-molti tra oggetti e termini. Ha solo tre campi:
object_id
è collegato a post_id
nel wp_posts
tavolo o link_id
nel wp_links
tavoloterm_taxonomy_id
è collegato allo stesso campo nel wp_term_taxonomy
tavoloterm_order
è l'ordine in cui i termini sono stati aggiunti a un oggetto. Viene usato solo se hai specificato che l'argomento sort è vero quando hai registrato la tassonomia - l'impostazione predefinita è false e il valore predefinito per questo campo è 0.Perché ogni oggetto può essere correlato a più record nel wp_term_relationships
tabella, e così può ogni termine, questo crea la relazione molti-a-molti.
La relazione tra oggetti (cioè post e link) e termini è molto potente, in parte perché è l'unica relazione molti-a-molti usata da WordPress.
Capire come funziona questa relazione e dove sono archiviati i dati chiave ti aiuterà a capire come funzionano tassonomie e termini e ad usare le funzioni associate a loro.