Parte di ciò che rende WordPress un potente strumento CMS è la possibilità di utilizzare il wp_postmeta
tabella per memorizzare campi personalizzati. Questi campi personalizzati possono contenere informazioni aggiuntive come campi SEO aggiunti da un plug-in SEO o possono essere utilizzati per visualizzare contenuti front-end aggiuntivi.
Aggiungendo queste informazioni aggiuntive ai campi è possibile creare query personalizzate per organizzare la visualizzazione dei propri contenuti.
Imparare a lavorare con questi dati è un ottimo modo per imparare i concetti di base di PHP, compresi array, loop e oggetti. Per diventare un maestro dei metadati di WordPress, devi padroneggiare matrici di tutti i tipi.
In questa serie di tutorial, ti mostrerò vari modi di lavorare con i metadati dei post di WordPress e i metadati degli utenti come esempi concreti di come lavorare con gli array.
Imparerai la differenza tra un array indicizzato e un array associativo e anche come dare un senso agli array multidimensionali.
La definizione più tecnica di post meta data è qualsiasi informazione che è memorizzata nel wp_postmeta
tavolo. Di default non è molto, ma ogni volta che un plugin o un tema aggiunge un campo personalizzato, i dati inseriti in quel campo verranno salvati nel wp_postmeta
tavolo.
Un buon esempio potrebbero essere i campi SEO che un plugin SEO aggiunge. Ad esempio, pensa a una descrizione meta meta. Quel campo è memorizzato nella tabella postmeta.
Inoltre, i profili utente in WordPress possono essere estesi con campi personalizzati. In una relazione che si riflette wp_posts
e wp_postmeta
, questi campi sono memorizzati nel wp_usermeta
tavolo - non il wp_user
tavolo.
In questa serie, non discuteremo come aggiungere campi personalizzati in WordPress, che è interamente il suo argomento. I campi personalizzati possono essere aggiunti nell'editor dei post con la casella "Campi personalizzati", implementandoli direttamente in un plug-in o un tema, oppure utilizzando un framework specializzato come i pod o i campi personalizzati avanzati.
Tecnicamente parlando, i metadati del post sono tutte le informazioni che sono memorizzate nel wp_postmeta
tavolo. Come abbiamo già detto, un buon esempio di metadati dei post è il campo della meta descrizione che viene introdotto attraverso plugin come WordPress SEO.
WordPress ci offre una varietà di modi per ottenere i metadati per un post.
Possiamo ottenere solo un campo usando get_post_meta ()
specificando quel campo. Ad esempio, per ottenere un campo chiamato "pippo" dal post corrente nel ciclo che potremmo fare get_post_meta (get_the_id (), 'foo', true);
.
Si noti che abbiamo impostato l'ultimo argomento su vero
. Questo argomento chiamato "single" determina se vogliamo un solo valore o una matrice di valori indietro. Se volessimo potremmo ottenere tutti i valori per il post in una variabile, o tutti i valori dal campo.
A volte vogliamo costruire un intero ciclo attorno a un metadati, e qui è dove WP_Query
è molto utile. WP_Query
ci consente di fare ciò che viene chiamato una "meta query" in cui interroghiamo i post in base a uno o più metadati e restituiamo i post con valori corrispondenti a un valore specifico. Il risultato è una collezione attraverso la quale possiamo eseguire il ciclo.
Ad esempio, immagina di avere un campo chiamato "nome_autore" e volevamo restituire ogni post in cui si trova il campo nome dell'autore
aveva il valore del valore 'J.R.R. Tolkien'. WP_Query
ci permette di farlo facilmente - daremo un'occhiata a questo approfondimento durante la quarta parte di questa serie.
I post non sono l'unico tipo di dati con metadati. Ad esempio, conosci tutti quei campi che sono disponibili nel profilo utente? Questi sono tutti campi meta, invece di essere memorizzati nel wp_postmeta
tabella, sono memorizzati nel wp_usermeta
tavolo.
Di conseguenza, abbiamo funzioni e classi speciali per le meta-informazioni dell'utente. Le funzioni get_user_meta ()
e get_author_meta ()
sono l'equivalente di get post meta per gli utenti. WP_Query
ha anche i suoi utenti equivalenti - WP_User_Query
.
Quando usi funzioni come get_post_meta ()
per restituire più di un campo, probabilmente otterrai quello che viene chiamato un array multidimensionale. Un array multidimensionale è anche noto come array di array. Ogni matrice all'interno della matrice multidimensionale potrebbe essere una matrice multidimensionale.
Suona confuso? Non preoccuparti! In questa serie, illustreremo come leggere gli array multidimensionali per "drill-down" all'indice necessario.
Infine - come accennato in precedenza - è necessario utilizzare un altro metodo per ottenere informazioni su un post WP_Query
. Quando usi il WP_Query
classe stai usando quello che viene chiamato PHP orientato agli oggetti e ciò che ritorni è diverso da un array - è un oggetto.
In qualche modo gli oggetti sono simili agli array in quanto possono contenere matrici di informazioni. Ma con un oggetto puoi usare una qualsiasi delle funzioni disponibili in classe. Questo significa che non solo possiamo usare un oggetto WP_Query per restituire un valore per un meta campo, ma possiamo anche usare i suoi metodi interni, il più comune dei quali è the_post ()
.
A questo punto, abbiamo esaminato i vari tipi di metadati, come sono memorizzati, come possono essere rappresentati e come recuperarli.
Continuando con questa serie, daremo un'occhiata più approfondita a ciascun aspetto delle tabelle dei metadati, alle API associate e al modo in cui possiamo sfruttarle per introdurre funzionalità e flessibilità nei nostri progetti.