Dopo tutte quelle parti precedenti, abbiamo finito di esaminare il WP_Query
classe - ma questo non significa che abbiamo finito con la serie! È ora di incontrarci WP_Query
Le classi di fratello e sorella: WP_User_Query
, WP_Comment_Query
, WP_Meta_Query
e WP_Date_Query
.
In questa parte, impareremo a usare il WP_User_Query
classe per interrogare gli utenti in WordPress.
Cominciamo!
tu probabilmente avere l'idea di cosa WP_User_Query
è semplicemente leggendo il suo nome. Sì, nessuno si aspetterebbe di vedere WP_User_Query
funziona con il widget "Tag Cloud": è una classe su cui vengono eseguite le query utenti in WordPress.
Vediamo cosa dice WordPress Codex riguardo a WP_User_Query
classe:
WP_User_Query
è una classe, definita inwp-includes / user.php
, che consente di interrogare tabelle di database WordPress 'wp_users
' e 'wp_usermeta
'. Questa classe è stata introdotta nella versione 3.1 e di conseguenza, ilWP_User_Search
la classe è stata deprecata.
In sostanza, possiamo dire che "WP_User_Query
è WP_Query
per gli utenti ". Funziona con wp_users
e wp_usermeta
per interrogare gli utenti e i loro metadati.
Ora, vediamo cosa c'è sotto il cofano e impariamo a conoscere WP_User_Query
Proprietà, metodi e parametri. Quindi vedremo come funziona esaminando alcuni esempi.
Consiglio rapido: Ne abbiamo parlato mentre introducevamo le proprietà e i metodi di WP_Query
classe, ma lasciatemelo ripetere come promemoria: "Proprietà" e "metodi" sono semplicemente "variabili" e "funzioni" che sono definite all'interno di una classe PHP.
Ci sono solo sette proprietà da conoscere nel WP_User_Query
classe. Ricorda: questi dovrebbero NON essere usato per cambiare i loro valori. Puoi recuperare i loro valori, ma è meglio non farlo alterare loro.
$ query_vars
Questa proprietà memorizza un array associativo di variabili di query e i loro valori.
$ risultati
Questa proprietà ha il numero di elementi trovati (utenti in questo caso) per la query.
$ query_fields
Questa proprietà, simile alle seguenti proprietà, memorizza le clausole SQL per i campi restituiti.
$ query_from
Questa proprietà memorizza il A PARTIRE DAL
clausola per la query.
$ query_where
Questa proprietà memorizza il DOVE
clausola per la query.
$ query_orderby
Questa proprietà memorizza il ORDINATO DA
clausola per la query e viene utilizzata per ordinare l'elenco di utenti restituiti.
$ query_limit
Questa proprietà memorizza il LIMITE
clausola per la query e viene utilizzata per limitare il numero di utenti restituiti.
Ricorda i metodi del WP_Query
classe? Bene, questa classe ha solo quattro metodi e funzionano esattamente come i metodi di WP_Query
. Vediamo rapidamente perché ognuno esiste.
ottenere()
MetodoQuesto metodo recupera semplicemente una variabile di query dalla query.
impostato()
MetodoContrariamente a quello sopra, questo metodo imposta una variabile di query invece di ottenerla.
get_results ()
Metododiversamente da WP_Query
, il WP_User_Query
la classe non funziona con un "ciclo". Invece, è necessario utilizzare il get_results ()
metodo per ottenere i risultati della query e lavorarci sopra.
get_total ()
MetodoQuesto piccolo metodo restituisce il numero totale di elementi (utenti) per la query.
Come il WP_Query
classe, WP_User_Query
ha parametri che è necessario conoscere. Ma mentre WP_Query
ha un gran numero di parametri (più di 50!), WP_User_Query
ha solo 17 parametri di cui preoccuparsi - e sono molto simili a quelli in WP_Query
, quindi, se hai familiarità con quelli, non dovrebbe essere un problema imparare questi.
blog_id
: Un numero intero per specificare l'ID di un blog nelle reti multisito. Impostazioni predefinite per il blog corrente.ruolo
: Una stringa per indicare un ruolo utente. accetta abbonato
, autore
, collaboratore
, autore
, editore
, amministratore
, e qualsiasi ruolo utente creato dall'utente.includere
: Una serie di ID utente da includere nella query.escludere
: Un array di ID utente da escludere dalla query.ricerca
: Un valore stringa da cercare nei campi di wp_users
tavolo.search_columns
: Una matrice di colonne del wp_users
tavolo. accetta ID
, Login utente
, user_url
, user_email
, e user_nicename
.ordinato da
: Una stringa per indicare come ordinare gli utenti restituiti. accetta ID
, nome da visualizzare
, nome
/nome utente
, accesso
/Login utente
, bel nome
/user_nicename
, e-mail
/user_email
, url
/user_url
, registrato
/user_registered
, POST_COUNT
, e meta_value
. Predefinito a accesso
.ordine
: Una stringa per impostare l'ordine in ordine crescente (ASC
) o decrescente (DESC
).compensare
: Un numero intero per specificare il numero di utenti da passare.numero
: Un numero intero per impostare il numero di utenti da restituire.count_total
: Un booleano (VERO
/FALSE
) per indicare se contare il numero totale di utenti trovati.i campi
: Una stringa o un array per decidere quali campi restituire da wp_users
tavolo.chi
: Una stringa (o autori
o tutti
, che è il valore predefinito) per indicare quali utenti interrogare.meta_key
: Una stringa per indicare una chiave del campo meta utente personalizzata.meta_value
: Una stringa per indicare un valore del metagode utente personalizzato.meta_compare
: Una stringa per impostare un operatore per testare il 'Meta_value'
parametro. accetta '='
, '! ='
, '>'
, '> ='
, '<'
, '<='
, 'PIACE'
, 'NON COME'
, 'NEL'
, 'NON IN'
, 'FRA'
, 'NON IN MEZZO'
, 'Esiste'
, e 'NON ESISTE'
. Predefinito a '='
.meta_query
: Una matrice per creare una query completa sui meta dati, utilizzando chiavi simili a quelle sopra:chiave
: Una stringa per impostare una chiave di campo personalizzata.valore
: Una stringa o una matrice per impostare un valore di campo personalizzato (o valori).confrontare
: Una stringa per impostare l'operatore di confronto. Accetta gli stessi valori di meta_compare
sopra.genere
: Una stringa per impostare il tipo di campo personalizzato. accetta NUMERICO
, BINARIO
, CHAR
, DATA
, APPUNTAMENTO
, DECIMALE
, FIRMATO
, TEMPO
, e UNSIGNED
. Predefinito a CHAR
.Ora abbiamo visto come WP_User_Query
funziona, facciamo un paio di esempi per imparare come usarlo.
Diciamo che vuoi elencare i tuoi editor ai tuoi lettori, ma ti ricordi che una delle tue editrici, Lisa, ha accettato di lavorare con te in condizione di anonimato, quindi devi lasciarla nella lista "Editor". Ecco come si costruisce la query:
"Editor", "exclude" => $ exclude_list); // Query personalizzata. $ my_user_query = new WP_User_Query ($ args); // Ottieni risultati della query. $ editors = $ my_user_query-> get_results (); // Controlla gli editor se (! Empty ($ editors)) echo '
Supponiamo che tu voglia raccogliere gli indirizzi email dei tuoi autori che utilizzano un indirizzo Gmail. Ecco cosa fai:
"autori", // Cerca gli indirizzi email che terminano con "@ gmail.com". 'search' => '*@gmail.com', // Cerca solo nel campo 'email'. 'search_columns' => array ('email'), // Restituisce solo il campo 'email'. 'fields' => 'email'); // Query personalizzata. $ my_user_query = new WP_User_Query ($ args); // Ottieni risultati della query. $ gmailers = $ my_user_query-> get_results (); ?>
Come puoi vedere, ci sono solo alcune differenze tra WP_Query
e WP_User_Query
, e le differenze in realtà fanno WP_User_Query
più facile da capire. Spero di averti aiutato a conoscere questa classe di WordPress.
Hai qualcosa da aggiungere a questo articolo? Condividi i tuoi pensieri con noi nella sezione commenti qui sotto. E se ti è piaciuto l'articolo, non dimenticare di condividerlo con i tuoi amici.
Ci vediamo nella prossima parte della serie!
Se sei interessato ad alcuni script e plug-in che possono offrirti funzionalità più avanzate con i sistemi utente e di appartenenza, c'è un'utile raccolta di elementi di script di iscrizione sul mercato Envato.