Meta_Query di WordPress: tutto ciò che devi sapere
Pubblicato: 2022-04-30Uno degli strumenti più potenti in WordPress è la possibilità di aggiungere campi personalizzati ai post. Molti sviluppatori utilizzano campi personalizzati avanzati o meta campi personalizzati per i post.
In questo post esamineremo come interrogare i post per campo personalizzato utilizzando la funzione meta_query in WordPress. Questo è utile per i siti con molte funzionalità personalizzate.
Interroga i post in base a un metavalore
Probabilmente il modo più popolare per interrogare i post con un campo personalizzato è prendere di mira un meta valore specifico. Ad esempio, supponiamo di avere un sito in cui i post hanno un campo personalizzato utilizzato per determinare se un post è "in primo piano". Questo è comune quando si crea una sezione in primo piano su un sito WordPress.
Ovviamente il codice sopra varia a seconda del titolo dei campi e delle meta chiavi, ma la "chiave" è il nome del campo personalizzato mentre il "valore" è ciò per cui stiamo interrogando i post. Il campo "confronta" viene utilizzato per una serie di operazioni di confronto che esamineremo più avanti nel post.
L'uso di questo in WP_Query ci consentirà di ottenere un array che è ottimo per le funzioni di loop per visualizzare i post. In questo post esamineremo solo le funzioni meta_query anziché come visualizzare l'output di WP_Query.
Interroga i post in base a più meta valori
Se vuoi controllare un valore di una chiave meta rispetto a più valori, è meglio utilizzare l'operatore 'IN'.
Interroga i post con più meta chiavi
Ora che abbiamo interrogato i post con una singola meta chiave, eseguiamone uno con più campi/chiavi interrogati. Ciò ti consentirà di interrogare i post in base a più campi personalizzati. Questo esempio combina entrambe le cose che abbiamo fatto sopra annidando le query in un array e aggiungendo una "relazione" alla meta_query.
Il campo "relazione" può essere impostato su "AND" o "OR" in modo da poter richiedere che tutte le condizioni siano soddisfatte o solo una.
Operatori di confronto di meta query
Ci sono alcuni operatori che ti saranno utili per interrogare i tuoi post tramite meta query. Ecco una rapida ripartizione di ciascun operatore di confronto e come utilizzarli.
- '=' Interroga le chiavi meta che equivalgono a un valore meta
- '!=' Interroga le chiavi meta che NON sono uguali a un valore meta
- '>' Interroga le chiavi meta che sono maggiori del valore meta
- '>=' Interroga le chiavi meta che sono maggiori e uguali al valore meta
- '<' Interroga le chiavi meta che sono inferiori al valore meta
- '<=' Interroga le chiavi meta che sono minori e uguali al valore meta
- 'MI PIACE' interroga le chiavi meta che contengono una parola/frase (ad esempio, la query su "rosso" corrisponderebbe alle frasi "rosso", "sembra rosso" e "stile rosso")
- 'NON MI PIACE' L'opposto di sopra
- 'IN' Interroga le chiavi meta in cui il valore esiste in una matrice
- 'NOT IN' Interroga le chiavi meta in cui il valore non esiste in una matrice
- 'BETWEEN' Interroga le chiavi meta in cui il valore è compreso tra due numeri
- 'NON TRA' Interroga le chiavi meta in cui il valore non è compreso tra due numeri
- 'EXISTS' Interroga le chiavi meta in cui il valore esiste
- 'NON ESISTE' Interroga le chiavi meta in cui il valore non esiste affatto
- 'REGEXP' Interroga le chiavi meta basate su un'espressione regolare
- 'NON REGEXP' Opposto al precedente REGEXP
Come ordinare i messaggi per meta campi
Ovviamente WordPress ti consente di ordinare i post utilizzando i tuoi campi personalizzati utilizzando l'opzione "ordina per" in WP_Query. Dovrai impostare 'orderby' come 'meta_value' e quindi impostare un valore 'meta_key' sul nome del tuo campo. Per impostazione predefinita, questo è molto utile quando vuoi che la tua query restituisca in ordine alfabetico o ordinata per numero quando il tuo campo è un numero.