WP_User_Query beherrschen

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

Was ist WP_User_Query??

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 in WP-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 die WP_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_QueryEigenschaften, 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.

Eigenschaften von WP_User_Query

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.

Methoden von WP_User_Query

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.

Das erhalten() Methode

Diese Methode ruft einfach eine Abfragevariable aus der Abfrage ab.

Das einstellen() Methode

Im Gegensatz zu der oben genannten Methode setzt eine Abfragevariable, anstatt sie zu erhalten.

Das Ergebnisse bekommen() Methode

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

Das get_total () Methode

Diese kleine Methode gibt die Gesamtzahl der Elemente (Benutzer) für die Abfrage zurück.

Parameter von WP_User_Query

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.

Testen von WP_User_Query anhand einiger Beispiele

Jetzt haben wir gesehen wie WP_User_Query funktioniert, lass uns ein paar Beispiele machen, um zu lernen, wie man es benutzt.

Alle Herausgeber auflisten außer Lisa

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 '
    '; // Schleife über Editoren. foreach ($ editorors als $ editor) // Erhalte die Daten jedes Editors. $ editor_info = get_userdata ($ editor-> ID); // Name des Editors anzeigen Echo '
  • '. $ editor_info-> display_name. '
  • '; Echo '
'; else // Meldung "Keine Editoren gefunden" anzeigen. echo __ ('Keine Editoren gefunden!', 'tutsplus'); ?>

Suchen Sie nach Google Mail-Nutzern unter Ihren Autoren

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

Alles einpacken

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.