Padroneggiare WP_User_Query

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_QueryLe 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!

Cos'è WP_User_Query?

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 in wp-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, il WP_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_QueryProprietà, 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.

Proprietà di WP_User_Query

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.

Metodi di WP_User_Query

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.

Il ottenere() Metodo

Questo metodo recupera semplicemente una variabile di query dalla query.

Il impostato() Metodo

Contrariamente a quello sopra, questo metodo imposta una variabile di query invece di ottenerla.

Il get_results () Metodo

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

Il get_total () Metodo

Questo piccolo metodo restituisce il numero totale di elementi (utenti) per la query.

Parametri di WP_User_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.

Provando WP_User_Query con alcuni esempi

Ora abbiamo visto come WP_User_Query funziona, facciamo un paio di esempi per imparare come usarlo.

Elenco di tutti gli editor, tranne Lisa

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 '
    '; // Loop over editor. foreach ($ editor come $ editor) // Ottieni i dati di ciascun editor. $ editor_info = get_userdata ($ editor-> ID); // Mostra il nome dell'editor. eco '
  • '. $ editor_info-> display_name. '
  • '; eco '
'; else // Visualizza il messaggio "nessun editor trovato". echo __ ('Nessun editor trovato!', 'tutsplus'); ?>

Cerca gli utenti Gmail tra i tuoi autori

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 (); ?>

Avvolgere tutto

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.