Comprendere e lavorare con tassonomie e termini in WordPress

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!

definizioni

Tassonomie

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:

  • categoria
  • etichetta
  • categoria di collegamento

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.

condizioni

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 WordPress memorizza tasse e termini

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.

La tabella wp_terms

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 termine
  • nome
  • lumaca
  • term_group è un campo che non è attualmente utilizzato da WordPress, quindi puoi tranquillamente ignorarlo.

La tabella wp_term_taxonomy

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 tabella
  • term_id rappresenta l'ID del termine, collegato al suo record in wp_terms
  • tassonomia è il nome della tassonomia in cui si trova il termine
  • descrizione
  • genitore si riferisce al termine genitore del termine, se la tassonomia è gerarchica e ne ha uno
  • contare è il numero di post con il termine

In 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.

La tabella wp_term_relationships

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 tavolo
  • term_taxonomy_id è collegato allo stesso campo nel wp_term_taxonomy tavolo
  • term_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.

Sommario

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.