WP_User_Query gibt keine Benutzer mit Meta zurück – was fehlt mir?

Ich denke, ich verpasse hier einen Schritt, aber für das Leben von mir kann ich es nicht sehen. Ich versuche, eine einfache Liste von Benutzern anzuzeigen, die alle die gleiche Rolle haben und den gleichen Metadatenwert für einen bestimmten Schlüssel haben – nämlich Lehrer, die einer Schule zugeordnet sind.

Hier ist mein Code:

Your School's Teachers

    school; // echo $school just to test it's right.... ?> Your school: 'subscriber', 'meta_key' => 'school', 'meta_value' => $school ); // The Query $user_query = new WP_User_Query( $args ); // User Loop if ( ! empty( $user_query->results ) ) { foreach ( $user_query->results as $user ) { echo '
  • ' . $user->display_name . '
  • '; } } else { echo '
  • No teachers found.
  • '; } ?>

Die School-Variable echos richtig, aber dann in der WP_User_Query bekomme ich nur das Ergebnis “keine Lehrer gefunden”. Wenn ich die meta_key und meta_value Felder auskommentiere, bekomme ich eine Liste von Abonnenten, so weit funktioniert das. Wenn ich den von mir gesuchten meta_value manuell einfüge – in diesem Fall “school_one”, gibt es immer noch “keine Lehrer gefunden” zurück. Ich überprüfte die usermeta Tabelle in der db und alle Benutzer haben den Schulmetastatus und die richtigen Schulwerte dort, also … Ich bin ratlos.

Ich habe den Codex sowohl für WP_User_Query () als auch für get_user_meta () gelesen und erneut gelesen und dies sowohl mit der Syntax vor WP 3.7 als auch mit der aktuellen Syntax geschrieben, aber klarerweise habe ich den Hauptpunkt verpasst, um das zu bekommen Arbeiten. Muss ich die Abfrage irgendwie zurücksetzen? Brauche ich auch das Argument “Vergleichen”? Verwende ich die Variable $ school in den Argumenten nicht korrekt? Ich habe so viele Methoden ausprobiert, dass ich nicht sicher bin, was noch übrig ist.

Jede Hilfe wird sehr geschätzt. Vielen Dank im Voraus für das Lesen.

Solutions Collecting From Web of "WP_User_Query gibt keine Benutzer mit Meta zurück – was fehlt mir?"

Versuchen Sie es mit Abonnenten , mit Kapital S.

 $args = array( 'role' => 'Subscriber', 'meta_key' => 'school', 'meta_value' => $school ); 

🙂

Ich habe es schließlich aussortiert – es gab ein Problem in der Art, wie die database den Meta-Wert für meinen benutzerdefinierten Schlüssel gespeichert hat. Ich musste die usermeta db Tabelle reparieren – ich benutzte ein databaseprüfungsplugin und tat dann die Reparatur durch phpMyadmin und jetzt funktioniert die Frage richtig. Danke an alle, die sich das angesehen haben.