Nach all den vorangegangenen Teilen sind wir mit dem Durcharbeiten fertig WP_Query
Klasse - aber das heißt nicht, dass wir mit der Serie fertig sind! Es ist Zeit zu treffen WP_Query
Bruder und Schwester Klassen: WP_User_Query
, WP_Comment_Query
, WP_Meta_Query
und WP_Date_Query
.
In diesem Teil lernen wir die Verwendung von WP_User_Query
Klasse, um Benutzer in WordPress abzufragen.
Lass uns anfangen!
Sie wahrscheinlich Machen Sie sich ein Bild davon WP_User_Query
ist nur durch Lesen des Namens. Ja, niemand würde es erwarten WP_User_Query
mit dem Widget "Tag Cloud" arbeiten - dies ist eine Klasse, über die Abfragen ausgeführt werden Benutzer in WordPress.
Mal sehen, was WordPress Codex über das sagt WP_User_Query
Klasse:
WP_User_Query
ist eine Klasse, definiert inWP-Includes / user.php
, das ermöglicht das Abfragen von WordPress-Datenbanktabellen 'wp_users
' und 'wp_usermeta
'. Diese Klasse wurde in Version 3.1 eingeführt und als Ergebnis dieWP_User_Search
Klasse wurde veraltet.
Im Wesentlichen können wir sagen, dass "WP_User_Query
ist WP_Query
für Benutzer ". Es funktioniert mit wp_users
und wp_usermeta
Benutzer und ihre Metadaten abfragen.
Nun wollen wir sehen, was sich unter der Haube befindet und etwas darüber erfahren WP_User_Query
Eigenschaften, Methoden und Parameter. Dann werden wir anhand einiger Beispiele sehen, wie es funktioniert.
Kurzer Tipp: Wir haben darüber gesprochen, während wir die Eigenschaften und Methoden des vorgestellt haben WP_Query
Klasse, aber lassen Sie mich noch einmal kurz zur Erinnerung sagen: "Eigenschaften" und "Methoden" sind lediglich "Variablen" und "Funktionen", die in einer PHP-Klasse definiert sind.
Es gibt nur sieben Eigenschaften, über die man im Internet lernen kann WP_User_Query
Klasse. Denken Sie daran: Diese sollten NICHT verwendet werden, um ihre Werte zu ändern. Sie können ihre Werte abrufen, aber es ist besser, dies nicht zu tun ändern Sie.
$ query_vars
Diese Eigenschaft speichert ein assoziatives Array mit Abfragevariablen und ihren Werten.
$ Ergebnisse
Diese Eigenschaft hat die Anzahl der gefundenen Elemente (Benutzer in diesem Fall) für die Abfrage.
$ query_fields
Diese Eigenschaft speichert ähnlich wie die folgenden Eigenschaften die SQL-Klauseln für die Rückgabefelder.
$ query_from
Diese Eigenschaft speichert die VON
Klausel für die Abfrage.
$ query_where
Diese Eigenschaft speichert die WOHER
Klausel für die Abfrage.
$ query_orderby
Diese Eigenschaft speichert die SORTIEREN NACH
Klausel für die Abfrage und wird verwendet, um die Liste der zurückgegebenen Benutzer zu sortieren.
$ query_limit
Diese Eigenschaft speichert die GRENZE
Klausel für die Abfrage und wird verwendet, um die Anzahl der zurückgegebenen Benutzer zu begrenzen.
Denken Sie an die Methoden der WP_Query
Klasse? Nun, diese Klasse hat nur vier Methoden und sie funktionieren genauso wie die Methoden von WP_Query
. Lassen Sie uns schnell sehen, warum es jede gibt.
erhalten()
MethodeDiese Methode ruft einfach eine Abfragevariable aus der Abfrage ab.
einstellen()
MethodeIm Gegensatz zu der oben genannten Methode setzt eine Abfragevariable, anstatt sie zu erhalten.
Ergebnisse bekommen()
Methodenicht wie WP_Query
, das WP_User_Query
Klasse funktioniert nicht mit einer "Schleife". Stattdessen müssen Sie das verwenden Ergebnisse bekommen()
Methode, um die Abfrageergebnisse abzurufen und an ihnen zu arbeiten.
get_total ()
MethodeDiese kleine Methode gibt die Gesamtzahl der Elemente (Benutzer) für die Abfrage zurück.
Wie WP_Query
Klasse, WP_User_Query
hat Parameter, die Sie kennen müssen. Aber während WP_Query
hat eine große Anzahl von Parametern (mehr als 50!), WP_User_Query
Es gibt nur 17 Parameter, über die Sie sich Gedanken machen müssen, und sie ähneln denen in WP_Query
, Wenn Sie also mit diesen vertraut sind, sollte es nicht schwierig sein, diese zu erlernen.
blog_id
: Eine Ganzzahl, um die ID eines Blogs in Netzwerken mit mehreren Standorten anzugeben. Standardmäßig wird das aktuelle Blog verwendet.Rolle
: Eine Zeichenfolge, um eine Benutzerrolle anzugeben. Akzeptiert Teilnehmer
, Autor
, Mitwirkender
, Autor
, Editor
, Administrator
, und jede benutzerdefinierte Benutzerrolle.umfassen
: Ein Array von Benutzer-IDs, die in die Abfrage aufgenommen werden sollen.ausschließen
: Ein Array von Benutzer-IDs, die von der Abfrage ausgeschlossen werden sollen.Suche
: Ein Zeichenfolgewert, nach dem in den Feldern von gesucht werden soll wp_users
Tabelle.Suchspalten
: Ein Array von Spalten der wp_users
Tabelle. Akzeptiert ICH WÜRDE
, Benutzer-Anmeldung
, user_url
, Benutzer Email
, und benutzername_name
.Sortieren nach
: Eine Zeichenfolge, die angibt, wie die zurückgegebenen Benutzer sortiert werden sollen. Akzeptiert ICH WÜRDE
, Anzeigename
, Name
/Nutzername
, Anmeldung
/Benutzer-Anmeldung
, schöner Name
/benutzername_name
, Email
/Benutzer Email
, url
/user_url
, Eingetragen
/user_registered
, post_count
, und meta_value
. Standardeinstellung bis Anmeldung
.Auftrag
: Eine Zeichenfolge, um die Reihenfolge aufsteigend festzulegen (ASC
) oder absteigend (DESC
).Versatz
: Eine Ganzzahl, die die Anzahl der Benutzer angibt, die übergeben werden sollen.Nummer
: Eine Ganzzahl, um die Anzahl der zurückzugebenden Benutzer festzulegen.count_total
: Ein boolescher (WAHR
/FALSCH
), um anzugeben, ob die Gesamtzahl der gefundenen Benutzer gezählt werden soll.Felder
: Eine Zeichenfolge oder ein Array, um zu entscheiden, welche Felder vom zurückgegeben werden sollen wp_users
Tabelle.Wer
: Eine Zeichenfolge (entweder Autoren
oder alles
, Welches ist der Standardwert), um anzugeben, welche Benutzer abgefragt werden sollen.meta_key
: Eine Zeichenfolge, um einen benutzerdefinierten Meta-Feldschlüssel für Benutzer anzugeben.meta_value
: Eine Zeichenfolge, um einen benutzerdefinierten Meta-Feldwert für Benutzer anzugeben.meta_compare
: Eine Zeichenfolge zum Festlegen eines Operators zum Testen der 'meta_value'
Parameter. Akzeptiert '='
, '! ='
, ">"
, '> ='
, '<'
, '<='
, 'MÖGEN'
, 'NICHT WIE'
, 'IM'
, 'NICHT IN'
, 'ZWISCHEN'
, 'NICHT ZWISCHEN'
, 'EXISTS'
, und 'EXISTIERT NICHT'
. Standardeinstellung bis '='
.meta_query
: Ein Array zum Erstellen einer vollständigen Metadatenabfrage mit ähnlichen Schlüsseln wie oben:Schlüssel
: Eine Zeichenfolge zum Festlegen eines benutzerdefinierten Feldschlüssels.Wert
: Eine Zeichenfolge oder ein Array, um einen benutzerdefinierten Feldwert (oder Werte) festzulegen.vergleichen Sie
: Eine Zeichenfolge zum Festlegen des Vergleichsoperators. Akzeptiert die gleichen Werte wie meta_compare
über.Art
: Eine Zeichenfolge zum Festlegen des benutzerdefinierten Feldtyps. Akzeptiert NUMERISCH
, BINÄR
, VERKOHLEN
, DATUM
, TERMINZEIT
, DEZIMAL
, UNTERZEICHNET
, ZEIT
, und OHNE VORZEICHEN
. Standardeinstellung bis VERKOHLEN
.Jetzt haben wir gesehen wie WP_User_Query
funktioniert, lass uns ein paar Beispiele machen, um zu lernen, wie man es benutzt.
Angenommen, Sie möchten Ihre Redakteure bei Ihren Lesern auflisten, Sie erinnern sich jedoch daran, dass Lisa, eine Ihrer Redakteure, sich unter der Bedingung der Anonymität bereit erklärt, mit Ihnen zusammenzuarbeiten. Daher müssen Sie sie in der Liste "Bearbeiter" auslassen. So konstruieren Sie die Abfrage:
'Editor', 'exclude' => $ exclude_list); // Benutzerdefinierte Abfrage. $ my_user_query = new WP_User_Query ($ args); // Abfrageergebnisse abrufen. $ editors = $ my_user_query-> get_results (); // Prüfe auf Editoren wenn (! Leer ($ Editoren)) echo '
Angenommen, Sie möchten E-Mail-Adressen Ihrer Autoren sammeln, die eine Google Mail-Adresse verwenden. Folgendes tun Sie:
'Authors', // Suche nach E-Mail-Adressen, die mit '@ gmail.com' enden. 'search' => '*@gmail.com', // Nur im Feld 'E-Mail' suchen. 'search_columns' => array ('email'), // Nur das 'email'-Feld zurückgeben. 'Felder' => 'E-Mail'); // Benutzerdefinierte Abfrage. $ my_user_query = new WP_User_Query ($ args); // Abfrageergebnisse abrufen. $ gmailers = $ my_user_query-> get_results (); ?>
Wie Sie sehen, gibt es nur ein paar Unterschiede WP_Query
und WP_User_Query
, und die Unterschiede machen tatsächlich aus WP_User_Query
leichter zu verstehen. Ich hoffe, dass ich Ihnen geholfen habe, etwas über diese nette Klasse von WordPress zu lernen.
Haben Sie etwas zu diesem Artikel hinzuzufügen? Teilen Sie Ihre Gedanken mit uns in den Kommentaren unten. Und wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, ihn mit Ihren Freunden zu teilen.
Wir sehen uns im nächsten Teil der Serie!
Wenn Sie an einigen Skripten und Plugins interessiert sind, die Ihnen erweiterte Funktionen mit Benutzer- und Mitgliedschaftssystemen bieten, gibt es eine nützliche Sammlung von Mitgliedschaftsskripts auf Envato Market.