După toate părțile anterioare, am trecut prin WP_Query
clasa - dar asta nu înseamnă că am terminat cu seria! E timpul să ne întâlnim WP_Query
clasele fratelui și sorei: WP_User_Query
, WP_Comment_Query
, WP_Meta_Query
și WP_Date_Query
.
În această parte, vom învăța să folosim WP_User_Query
pentru a interoga utilizatorii în WordPress.
Sa incepem!
Tu probabil obține ideea de ce WP_User_Query
se citește doar numele său. Da, nimeni nu se aștepta să vadă WP_User_Query
care lucrează cu widgetul "Tag Cloud" - este o clasă în care sunt difuzate interogări utilizatori în WordPress.
Să vedem ce spune WordPress Codex despre WP_User_Query
clasă:
WP_User_Query
este o clasă, definită înwp-includes / user.php
, care permite interogarea tabelelor de baze de date WordPress "wp_users
' și 'wp_usermeta
“. Această clasă a fost introdusă în versiunea 3.1 și, ca urmare,WP_User_Search
clasa a fost depreciată.
În esență, putem spune că "WP_User_Query
este WP_Query
pentru utilizatori " wp_users
și wp_usermeta
să interogați utilizatorii și metadatele acestora.
Acum, să vedem ce este sub capota și să învățăm WP_User_Query
proprietățile, metodele și parametrii. Atunci vom vedea cum funcționează, trecând prin câteva exemple.
Sfat rapid: Am acoperit acest lucru în timp ce introducem proprietățile și metodele WP_Query
dar permiteți-mi să spun din nou ca un memento rapid: "Proprietățile" și "metodele" sunt doar "variabile" și "funcții" care sunt definite într-o clasă PHP.
Există doar șapte proprietăți pentru a afla mai multe în WP_User_Query
clasă. Amintiți-vă: acestea ar trebui NU să fie folosite pentru a-și schimba valorile. Puteți să le aduceți valorile, dar este mai bine să nu le faceți modifica lor.
$ query_vars
Această proprietate stochează o matrice asociativă de variabile de interogare și valorile acestora.
rezultate $
Această proprietate are numărul de elemente găsite (utilizatorii în acest caz) pentru interogare.
$ query_fields
Această proprietate, similară cu următoarele proprietăți, stochează clauzele SQL pentru câmpurile returnate.
$ query_from
Această proprietate stochează DIN
clauza pentru interogare.
$ query_where
Această proprietate stochează UNDE
clauza pentru interogare.
$ query_orderby
Această proprietate stochează orderby
clauza pentru interogare și este utilizată pentru a comanda lista utilizatorilor returnați.
$ query_limit
Această proprietate stochează LIMITĂ
clauza pentru interogare și se utilizează pentru a limita numărul de utilizatori returnați.
Amintiți-vă metodele WP_Query
clasă? Ei bine, această clasă are doar patru metode și ele funcționează la fel ca metodele WP_Query
. Să vedem repede de ce există fiecare.
obține()
MetodăAceastă metodă extrage pur și simplu o variabilă de interogare din interogare.
a stabilit()
MetodăSpre deosebire de cea de mai sus, această metodă seturi o variabilă de interogare în loc să o obțină.
get_results ()
MetodăSpre deosebire de WP_Query
, WP_User_Query
clasa nu funcționează cu o "buclă". În schimb, trebuie să utilizați get_results ()
pentru a obține rezultatele interogării și pentru a le lucra.
get_total ()
MetodăAceastă mică metodă returnează numărul total de elemente (utilizatori) pentru interogare.
Ca WP_Query
clasă, WP_User_Query
are parametrii pe care trebuie să știți. Dar în timp ce WP_Query
are un număr mare de parametri (mai mult de 50!), WP_User_Query
are doar 17 parametri de îngrijorat - și sunt foarte asemănătoare cu cele din WP_Query
, Deci, dacă sunteți familiarizați cu aceștia, nu ar trebui să aveți niciun fel de dificultăți în a le învăța pe aceștia.
blog_id
: Un număr întreg pentru a specifica ID-ul unui blog în rețele multisite. Implicit la blogul curent.rol
: Un șir pentru a declara un rol de utilizator. acceptă abonat
, autor
, colaborator
, autor
, editor
, administrator
, și orice rol de utilizator personalizat.include
: O serie de ID-uri de utilizator care trebuie incluse în interogare.exclude
: O serie de ID-uri de utilizator pentru a exclude din interogare.căutare
: O valoare de șir pe care să o căutați în câmpurile wp_users
masa.search_columns
: O serie de coloane din wp_users
masa. acceptă ID-ul
, logare utilizator
, user_url
, USER_EMAIL
, și user_nicename
.orderby
: Un șir pentru a preciza cum să sortați utilizatorii returnați. acceptă ID-ul
, numele afisat
, Nume
/nume de utilizator
, Logare
/logare utilizator
, frumos nume
/user_nicename
, e-mail
/USER_EMAIL
, URL-ul
/user_url
, înregistrat
/user_registered
, POST_COUNT
, și meta_value
. Implicit la Logare
.Ordin
: Un șir pentru a seta ordinea în ascensiune (ASC
) sau descendent (DESC
).ofset
: Un număr întreg pentru a specifica numărul de utilizatori care trec.număr
: Un număr întreg pentru a seta numărul de utilizatori care se vor întoarce.count_total
: Un boolean (ADEVĂRAT
/FALS
) pentru a determina dacă să contorizeze numărul total de utilizatori găsiți.câmpuri
: Un șir sau un matrice pentru a decide care câmpuri să se întoarcă de la wp_users
masa.care
: Un șir (fie autori
sau toate
, care este valoarea implicită) pentru a indica care utilizatori să interogheze.meta_key
: Un șir pentru a preciza o cheie de utilizator meta personalizată.meta_value
: Un șir pentru a preciza o valoare de câmp meta de utilizator personalizat.meta_compare
: Un șir pentru a seta un operator pentru a testa 'Meta_value'
parametru. acceptă '='
, '! ='
, '>'
, '> ='
, '<'
, '<='
, 'CA'
, 'NU CA'
, 'ÎN'
, 'NU ÎN'
, 'ÎNTRE'
, "NU DINTRE"
, 'EXISTS'
, și 'NU EXISTA'
. Implicit la '='
.meta_query
: Un matrice pentru a crea o interogare completă de date meta, folosind chei similare celor de mai sus:cheie
: Un șir pentru a seta o cheie de câmp particularizat.valoare
: Un șir sau un matrice pentru a seta o valoare a câmpului personalizat (sau valori).comparaţie
: Un șir pentru a seta operatorul de comparare. Acceptează aceleași valori ca și meta_compare
de mai sus.tip
: Un șir pentru a seta tipul de câmp particularizat. acceptă NUMERIC
, BINAR
, CARBONIZA
, DATA
, DATETIME
, ZECIMAL
, SEMNAT
, TIMP
, și NESEMNAT
. Implicit la CARBONIZA
.Acum am văzut cum WP_User_Query
lucrări, să facem câteva exemple pentru a afla cum să le folosim.
Să presupunem că doriți să vă listați editori cititorilor dvs., dar vă amintiți că unul dintre editorii dvs., Lisa, a fost de acord să lucreze cu dvs., cu condiția anonimatului, așa că trebuie să lăsați-o în lista "Editori". Iată cum construiți interogarea:
'Editor', 'exclude' => $ exclude_list); // Interogare personalizată. $ my_user_query = noul WP_User_Query ($ args); // Obțineți rezultatele interogării. editoare $ = $ my_user_query-> get_results (); // Verificați dacă editorul (! Empty ($ editors)) echo '
Să presupunem că doriți să colectați adrese de e-mail ale autorilor care utilizează o adresă Gmail. Iată ce faceți:
"autori", // Căutați adrese de e-mail care se termină cu '@ gmail.com'. 'search' => '*@gmail.com', // Căutați doar câmpul "e-mail". 'search_columns' => array ('email'), // Returnați numai câmpul 'email'. 'câmpuri' => 'e-mail'); // Interogare personalizată. $ my_user_query = noul WP_User_Query ($ args); // Obțineți rezultatele interogării. $ gmailers = $ my_user_query-> get_results (); ?>
După cum puteți vedea, există doar câteva diferențe între WP_Query
și WP_User_Query
, și diferențele de fapt WP_User_Query
mai ușor de înțeles. Sper că te-am ajutat să înveți despre această clasă îngrijită de WordPress.
Aveți ceva de adăugat la acest articol? Împărtășiți-vă gândurile cu noi în secțiunea Comentarii de mai jos. Și dacă ți-a plăcut articolul, nu uita să îl împarți cu prietenii tăi.
Ne vedem în următoarea parte a seriei!
Dacă sunteți interesat de câteva script-uri și plugin-uri care vă pot oferi funcții mai avansate cu sistemele de utilizator și de membru, există o colecție utilă de articole de scripturi de membru pe Envato Market.