Erstellen einer Front-End-basierten Benutzersuche

Ich arbeite an einer Mitgliedschaft Website, die eine Front-End-Benutzersuche erfordert. Ich habe nach einer Antwort gesucht wie ein Verrückter, und ich könnte wirklich Hilfe gebrauchen! Es gibt mehrere Plugins, die diese Fähigkeit haben (WordPress-Mitgliederliste, AMR-Benutzer usw.); keiner von ihnen tut genau das, was ich brauche, und wenn ich mir ihre Quellcodes anschaue, wäre es ein riesiges Durcheinander, das man auseinander nehmen könnte, und am Ende scheint es trotzdem eine fruchtlose Anstrengung zu sein. Mir ist klar, dass ich hier wahrscheinlich etwas Eigenes schreiben muss. Die Logik, die ich brauche, ist tatsächlich sehr geradlinig und einfach in Bezug darauf, wie es funktionieren muss.

Benutzersuchlogik geht wie folgt:

1. Der Benutzer gibt die USER ID eines anderen Benutzers in ein einfaches Suchfeld ein.

2. Nach dem Absenden der Suche wird der Benutzer direkt zum Mitgliederprofil geführt

Ja , Benutzer suchen nach anderen Benutzern anhand ihrer Benutzer-ID (denken Sie dabei an eine Mitgliedsnummer). Es gibt einen bestimmten Grund dafür, der für die Website sinnvoll ist. Aber ich möchte nicht von dem Thema abkommen, nur wissen, dass diese Anforderung nicht geändert werden kann. Ich denke, das sollte aber egal sein, denn wenn Sie “user_nicename” aus der Tabelle “wp_users” in der database abfragen können, sollten Sie auch das Feld “ID” abfragen können?

Ich erwarte nicht, dass irgendjemand mir den gesamten Code dafür zur Verfügung stellt, aber es wäre nett, wenn Sie mir eine allgemeine Richtung geben könnten (und vielleicht Beispiele, wenn möglich), wie ich das anstellen kann. Es fällt mir schwer, mich aus irgendeinem Grund darum zu kümmern.

Vielen Dank!

Solutions Collecting From Web of "Erstellen einer Front-End-basierten Benutzersuche"

Da Sie die Details nicht angegeben haben, werde ich versuchen, sie alle kurz zu erfassen.

Verwenden Sie die API – öffentliche WP_User_Query API-functionen

Grundsätzlich sollte get_user_by() genug für dich sein. user_id Ihr Formular an, und der name des Eingabefelds user_id . Sie würden also einfach den Wert von $_REQUEST (oder $_GET ) $_GET und dann eine einfache Abfrage durchführen.

 $user = get_user_by( 'user_id', $_REQUEST['user_id'] ); 

Erweiterte Aufgabe: Meta-Benutzerabfrage

Wenn Sie komplexere Anfragen stellen (für vielleicht nur eine teilweise Anfrage, die mehr als einen Benutzer als mögliches Ergebnis abdeckt), dann ist es Zeit, get_users() , was der Standard-API-Wrapper für die new WP_User_Query .

Eine Meta-Abfrage könnte folgendermaßen aussehen:

 $args = array( 'meta_key' => 'custom-usermeta', 'meta_value' => $cat_id, 'meta_compare' => '=' ); $users = get_users( $args ); 

AJAX-Suche

Wenn Sie die AJAX-Suchfunktion benötigen, casting Sie einfach einen Blick auf die Antworten, die unter Ajax abgelegt wurden, um sie zu umgehen – kein Grund, sie hier zu wiederholen.

Ich habe vor einiger Zeit eine Frage zu Autocomplete gestellt und die wichtigsten Teile behandelt.

 // jQuery autocomplete - already bundled with WP core function wpse71343_scripts() { wp_enqueue_script( 'jquery-ui-autocomplete' ); } add_action( 'wp_enqueue_scripts', 'wpse71343_scripts' ); 

Ich denke, die WordPress-function, die Sie suchen, ist:

Natürlich müssen Sie die Seite mit den zurückgegebenen Ergebnissen generieren.