Finora in questa serie, abbiamo esaminato i principali tipi di contenuti in WordPress. Ma per quanto riguarda i dati aggiuntivi su tutto quel contenuto?
Ecco dove entrano in gioco i metadati.
Come ho spiegato in una parte precedente di questa serie, WordPress ha quattro tipi di contenuto principali che memorizza in quattro tabelle di database:
I primi tre di questi possono anche avere metadati a loro assegnati, e ognuno ha una propria tabella di metadati nel database per archiviare questo.
I metadati possono essere descritti come dati sui dati. Wikipedia definisce due tipi di metadati:
Metadati strutturali riguarda la progettazione e le specifiche delle strutture di dati ed è più propriamente chiamato "dati sui contenitori di dati"; metadati descrittivi, d'altra parte, riguarda le singole istanze dei dati dell'applicazione, il contenuto dei dati.
Con questa definizione, WordPress utilizza metadati descrittivi. Ciò che definiamo come dati in WordPress e ciò che può essere definito come metadata è un po 'sfocato e non equivale direttamente a ciò che è memorizzato nelle tabelle dei metadati. Per esempio:
post_type
è un esempio di metadati, ma è memorizzato nel file wp_posts
tavolowp_postmeta
tavolo, come ci si aspetterebbe.Quindi è più facile pensare ai metadati in WordPress non secondo la definizione rigorosa del termine, ma come i dati memorizzati nelle tre tabelle di metadati.
WordPress utilizza tre tabelle del database per i metadati:
wp_postmeta
memorizza i metadati relativi ai post (inclusi allegati, voci di menu di navigazione e revisioni)wp_commentmeta
memorizza i metadati sui commentiwp_usermeta
memorizza i metadati sugli utentiL'unico tipo di oggetto in WordPress che non ha metadati è il collegamento.
Le tabelle dei metadati sono quasi identiche in quanto hanno solo quattro campi:
WordPress può usare questa struttura per memorizzare grandi quantità di metadati usando una struttura semplice. Ciò significa che le funzioni che usi per visualizzare e interrogare i metadati per post, utenti e commenti sono molto simili.
I metadati archiviati in una singola installazione di WordPress varieranno da quelli archiviati in un'altra installazione, poiché plugin e temi possono aggiungere i propri metadati e, in alcuni siti, sarà necessario definire metadati specifici mentre in altri non sarà possibile.
Ma diamo un'occhiata ad alcuni dei più comuni tipi di metadati:
wp_postmeta
tavolo. È possibile aggiungerli utilizzando l'interfaccia standard Campi personalizzati o creando i propri metabox nelle schermate di modifica dei post. Questo può essere particolarmente utile quando si desidera che gli utenti siano in grado di aggiungere metadati a un tipo di post specifico e si desidera rendere l'interfaccia più user-friendly possibile.wp_usermeta
la tabella memorizza i metadati relativi alla maggior parte degli utenti, come ruoli, funzionalità, impostazioni del dashboard e persino nomi e cognomi.wp_commentmeta
tabella, mentre i plug-in che consentono di aggiungere metadati ai post, come i plugin SEO, aggiungeranno record al wp_postmeta
tavolo. Potresti teoricamente aggiungere metadati tramite il tema, ma ha più senso farlo in un plug-in, in quanto è generalmente correlato alla funzionalità e non viene visualizzato.Ovviamente l'elenco non è limitato a questi tipi. In effetti, tutti i dati relativi a post, commenti o utenti che non possono essere memorizzati nelle loro tabelle del database principale verranno archiviati nelle relative tabelle di metadati.
Se stai aggiungendo un nuovo campo per archiviare i dati, dovresti sempre utilizzare queste tabelle e non le tabelle principali.
WordPress ha un'API Metadata che usi per aggiungere, modificare, ottenere ed eliminare i metadati. Esiste una gamma di funzioni specifiche per ciascun tipo di metadati che utilizzi per emettere i metadati nei tuoi file modello: dovresti usarli al posto di qualsiasi funzione di metadati generica.
Le funzioni dell'API dei metadati per ogni tipo di contenuto sono molto simili e hanno gli stessi parametri:
Aggiunta di metadati | Ottenere i metadati | Aggiornamento dei metadati | Eliminazione dei metadati | |
---|---|---|---|---|
Messaggi | add_post_meta () | get_post_meta () | update_post_meta () | delete_post_meta () |
utenti | add_user_meta () | get_user_meta () | update_user_meta () | delete_user_meta () |
Commenti | add_comment_meta () | get_comment_meta () | update_comment_meta () | delete_comment_meta () |
parametri | $ post_id , $ meta_key , $ meta_value , $ unico (opzionale) | $ post_id , $ meta_key , $ singolo (opzionale), | $ post_id , $ meta_key , $ meta_value , $ prev_value (opzionale) | $ post_id , $ meta_key , $ meta_value (opzionale) |
Queste funzioni possono essere utilizzate nei file del modello e nei plug-in, ad esempio nel modello di singolo post del tema, è possibile utilizzare quanto segue per emettere i metadati relativi al post:
Questo è solo un modo molto semplice per produrre alcuni metadati - ci sono molte più possibilità, alcune delle quali tratteremo più avanti in questa serie.
WordPress utilizza tre tabelle di metadati per archiviare i dati su tre tipi di contenuto: post, utenti e commenti. Queste tabelle sono utilizzate per tutto ciò che non è memorizzato nel core wp_posts
, wp_users
e wp_comments
tabelle e sono le tabelle su cui scrivere i dati se si aggiungono nuovi campi tramite temi o plug-in. Le tre tabelle funzionano in modo quasi identico e hanno funzioni molto simili che è possibile utilizzare per aggiungere, aggiornare, eliminare e ottenere metadati.
Come ho detto sopra, i termini di tassonomia potrebbero essere visti come un altro tipo di metadati in WordPress, e questi sono quelli che tratterò nella prossima parte di questa serie.