User Query
Was ist WP_User_Query?
WP_User_Query ist die WordPress-Klasse für Datenbankabfragen auf Benutzer. Sie funktioniert ähnlich wie WP_Query für Beiträge – du übergibst Parameter, WordPress baut daraus eine SQL-Abfrage, und zurück kommt eine Liste von Benutzern, die den Kriterien entsprechen.
Wann braucht man WP_User_Query?
Immer dann, wenn du Benutzer gefiltert ausgeben möchtest – nach Rolle, nach Metadaten, nach Registrierungsdatum oder anderen Kriterien. Typische Anwendungsfälle:
- Alle Autoren einer Website auflisten
- Benutzer einer bestimmten Rolle filtern, z.B. alle Redakteure
- Benutzer nach Custom Fields suchen, z.B. alle mit einem bestimmten Standort
- Benutzer nach Aktivität oder Registrierungsdatum sortieren
Beispiel: Alle Autoren abfragen
$args = array(
'role' => 'author',
'orderby' => 'display_name',
'order' => 'ASC',
);
$user_query = new WP_User_Query( $args );
$users = $user_query->get_results();
Das Ergebnis ist ein Array von WP_User-Objekten. Auf die Eigenschaften jedes Benutzers – Name, E-Mail, ID – greifst du dann direkt über das Objekt zu.
Die wichtigsten Parameter
role/role__in– nach einer oder mehreren Rollen filternsearch– Volltextsuche in Name, E-Mail und Loginmeta_query– Filterung nach User-Metadaten (Custom Fields)orderby– Sortierung nach Name, E-Mail, Registrierungsdatum etc.number– maximale Anzahl zurückgegebener Benutzerexclude– bestimmte Benutzer-IDs von der Abfrage ausschließen
WP_User_Query ist die saubere, offizielle Methode, um auf Benutzerdaten zuzugreifen. Direkte SQL-Abfragen auf die Benutzertabelle solltest du konsequent vermeiden – sie umgehen WordPress-Filter und sind wartungsfeindlich.

