Etter alle de tidligere delene er vi ferdige med å gå gjennom WP_Query
klasse-men det betyr ikke at vi er ferdige med serien! Det er på tide å møte WP_Query
s bror og søster klasser: WP_User_Query
, WP_Comment_Query
, WP_Meta_Query
og WP_Date_Query
.
I denne delen skal vi lære om å bruke WP_User_Query
klasse for å spørre brukere i WordPress.
La oss begynne!
Du sannsynligvis få ideen om hva WP_User_Query
er ved å bare lese navnet sitt. Ja, ingen ville forvente å se WP_User_Query
jobber med widgeten "Tag Cloud" - det er en klasse som kjører spørsmål om brukere i WordPress.
La oss se hva WordPress Codex sier om WP_User_Query
klasse:
WP_User_Query
er en klasse, definert iwp-includes / user.php
, som gjør det mulig å spørre WordPress database tabeller 'wp_users
'og'wp_usermeta
'. Denne klassen ble introdusert i versjon 3.1 og som et resultat, denWP_User_Search
Klassen ble avskrevet.
I hovedsak kan vi si at "WP_User_Query
er WP_Query
for brukere ". Det fungerer med wp_users
og wp_usermeta
å spørre brukere og deres metadata.
Nå, la oss se hva som er under hetten og lære om WP_User_Query
s egenskaper, metoder og parametere. Da ser vi hvordan det fungerer ved å gå gjennom noen få eksempler.
Raskt tips: Vi har dekket dette mens du introduserer egenskapene og metodene til WP_Query
klasse, men la meg si det igjen som en rask påminnelse: "Egenskaper" og "metoder" er bare "variabler" og "funksjoner" som er definert i en PHP-klasse.
Det er bare sju egenskaper å lære om i WP_User_Query
klasse. Husk: Disse skal IKKE brukes til å endre verdiene sine. Du kan hente sine verdier, men det er bedre å ikke endre dem.
$ query_vars
Denne egenskapen lagrer en assosiativ rekkefølge av spørringsvariabler og deres verdier.
$ resultater
Denne egenskapen har antall funnet elementer (brukere i dette tilfellet) for spørringen.
$ query_fields
Denne egenskapen, som ligner på følgende egenskaper, lagrer SQL-klausulene for returfeltene.
$ query_from
Denne eiendommen lagrer FRA
klausul for spørringen.
$ query_where
Denne eiendommen lagrer HVOR
klausul for spørringen.
$ query_orderby
Denne eiendommen lagrer REKKEFØLGE ETTER
klausul for spørringen og brukes til å bestille listen over brukere som returneres.
$ query_limit
Denne eiendommen lagrer GRENSE
klausul for spørringen og brukes til å begrense antall returnerte brukere.
Husk metodene til WP_Query
klasse? Vel, denne klassen har bare fire metoder, og de fungerer akkurat som metodene til WP_Query
. La oss raskt se hvorfor hver enkelt eksisterer.
få()
MetodeDenne metoden henter bare en spørringsvariabel fra spørringen.
sett()
MetodeI motsetning til den ovenfor, denne metoden settene en spørringsvariabel i stedet for å få den.
get_results ()
MetodeI motsetning til WP_Query
, de WP_User_Query
klassen fungerer ikke med en "loop". I stedet må du bruke get_results ()
metode for å få spørresultatene og arbeidet med dem.
get_total ()
MetodeDenne lille metoden returnerer totalt antall elementer (brukere) for spørringen.
Som WP_Query
klasse, WP_User_Query
har parametere som du trenger å vite om. Men mens WP_Query
har et stort antall parametere (mer enn 50!), WP_User_Query
har bare 17 parametere å bekymre seg for, og de er veldig lik de i WP_Query
, så hvis du er kjent med dem, bør det ikke være noe problem å lære disse.
blog_id
: Et heltall for å angi en blogg ID i multisite-nettverk. Standard til dagens blogg.rolle
: En streng for å angi en brukerrolle. godtar abonnenten
, forfatter
, bidragsyter
, forfatter
, redaktør
, administrator
, og enhver skreddersydd brukerrolle.inkludere
: En rekke bruker-IDer som skal inkluderes i spørringen.utelukke
: En rekke bruker-IDer for å ekskludere fra spørringen.Søke
: En strengverdi for å søke etter i feltene i wp_users
bord.search_columns
: En rekke kolonner av wp_users
bord. godtar ID
, Brukerinnlogging
, USER_URL
, user_email
, og user_nicename
.rekkefølge etter
: En streng for å angi hvordan du sorterer de returnerte brukerne. godtar ID
, DISPLAY_NAME
, Navn
/brukernavn
, Logg Inn
/Brukerinnlogging
, fint navn
/user_nicename
, e-post
/user_email
, url
/USER_URL
, registrert
/user_registered
, POST_COUNT
, og meta_value
. Standard til Logg Inn
.rekkefølge
: En streng for å sette rekkefølgen til stigende (ASC
) eller synkende (DESC
).offset
: Et heltall for å angi antall brukere som skal overgå.Nummer
: Et heltall for å angi antall brukere som skal returnere.count_total
: En boolsk (EKTE
/FALSK
) for å angi om du skal telle totalt antall brukere funnet.Enger
: En streng eller array for å bestemme hvilke felt som skal returneres fra wp_users
bord.hvem
: En streng (enten forfattere
eller alle
, som er standardverdien) for å angi hvilke brukere som skal spørre.meta_key
: En streng for å angi en tilpasset bruker meta feltnøkkel.meta_value
: En streng for å angi en tilpasset bruker meta felt verdi.meta_compare
: En streng for å sette en operatør til å teste 'Meta_value'
parameter. godtar '='
, '! ='
, '>'
, '> ='
, '<'
, '<='
, 'SOM'
, 'IKKE LIKE'
, 'I'
, 'IKKE I'
, 'MELLOM'
, "IKKE MELLOM"
, 'Finnes'
, og "IKKE EXISTERER"
. Standard til '='
.meta_query
: En matrise for å opprette en full meta-dataforespørsel, ved hjelp av taster som ligner på de ovennevnte:nøkkel
: En streng for å angi en egendefinert feltnøkkel.verdi
: En streng eller en matrise for å angi en egendefinert feltverdi (eller verdier).sammenligne
: En streng for å angi sammenligningsoperatøren. Godtar de samme verdiene som meta_compare
ovenfor.type
: En streng for å angi egendefinert felttype. godtar NUMERIC
, BINARY
, CHAR
, DATO
, DATO TID
, DESIMAL
, SIGNERT
, TID
, og UNSIGNED
. Standard til CHAR
.Nå har vi sett hvordan WP_User_Query
virker, la oss gjøre et par eksempler for å lære å bruke den.
La oss si at du vil liste dine redaktører til leserne dine, men du husker at en av redaktørene dine, Lisa, har avtalt å jobbe med deg på betingelse av anonymitet, så du må forlate henne i "Redigeringslisten". Slik konstruerer du spørringen:
'Editor', 'exclude' => $ exclude_list); // Tilpasset søk. $ my_user_query = ny WP_User_Query ($ args); // Få forespørselsresultater. $ editors = $ my_user_query-> get_results (); // Sjekk etter redaktører hvis (! Tom ($ redaktører)) echo '
La oss si at du vil samle e-postadresser til forfatterne dine som bruker en Gmail-adresse. Her er hva du gjør:
'forfattere', // Søk etter e-postadresser som slutter med '@ gmail.com'. 'search' => '*@gmail.com', // Søk bare i feltet 'email'. 'search_columns' => array ('email'), // Returner bare 'email'-feltet. 'felt' => 'e-post'); // Tilpasset søk. $ my_user_query = ny WP_User_Query ($ args); // Få forespørselsresultater. $ gmailers = $ my_user_query-> get_results (); ?>
Som du kan se, er det bare noen få forskjeller mellom WP_Query
og WP_User_Query
, og forskjellene faktisk gjør WP_User_Query
lettere å forstå. Jeg håper jeg har hjulpet deg med å lære om denne fine klassen av WordPress.
Har du noe å legge til i denne artikkelen? Del dine tanker med oss i kommentarfeltet nedenfor. Og hvis du likte artikkelen, ikke glem å dele den med vennene dine.
Se deg i neste del av serien!
Hvis du er interessert i noen få skript og plugins som kan gi deg mer avansert funksjonalitet med bruker- og medlemssystemer, er det en nyttig samling av elementer av medlemsskript på Envato Market.