Ich versuche gerade, eine WordPress-Suchfunktion zu erstellen, die Live-Ergebnisse unter der Suchleiste anzeigt. Es gibt ein Beispiel für die Weltbank Website (Abbildungen unten). Ich bin nicht auf der Suche nach einer automatischen Ausfüllung, wie sie auf Google.com zu finden ist und die von Ihnen eingegebenen Wörter vervollständigt, sondern möchte, dass sie tatsächliche Beiträge auf der Website findet.
Ich habe versucht, durch Wordpress Answers und andere ähnliche Ressourcen zu scrubben, habe aber nur eine Google-Suche implementiert, die nicht das ist, wonach ich suche. Jede Hilfe oder Hinweise in die richtige Richtung wäre sehr dankbar.
Antworten:
Im Folgenden wird jQuery UI Autocomplete verwendet, das seit 3.3 in WordPress enthalten ist. (Ich habe das Format von @Rarst : D ausgeliehen).
Es ist immer noch nicht genau das, wonach Sie suchen, aber es gibt Ihnen einen guten Ausgangspunkt. Im Folgenden wird das grundlegende jQuery-UI-Styling verwendet. Sie können jedoch dasjenige verwenden, das derzeit in trac ausgearbeitet ist, und es aus Ihrem Plug-In-Ordner aufrufen.
quelle
Ok, dies wäre ein sehr einfacher Beispielcode, der den nativen
suggest.js
WP-Core für Ajax verwendet und an das Standardsuchformular gebunden ist (aus einem nicht geändertenget_search_form()
Aufruf). Es ist nicht genau das, wonach Sie gefragt haben, aber die inkrementelle Suche ist ein großer Schmerz, um perfekt zu werden. :)quelle
Du musst es natürlich mit Ajax machen, aber hier gibt es ein Problem. Da WordPress MySQL verwendet, überlasten Sie Ihren Server möglicherweise mit der Suche, wenn Sie versuchen, die Suche mit den tatsächlichen Datenbankabfragen durch Ajax zu füllen. Sie könnten jedoch ein System entwickeln, in dem alle Beiträge in einem großen "wp_options" gespeichert werden. Wenn eine Suche abgeschlossen ist, fragen Sie danach ab, anstatt eine echte Suche durchzuführen. Denken Sie jedoch daran, dass Sie diesen Textblock / diese serialisierte Variable jedes Mal aktualisieren müssen, wenn Sie einen Beitrag erstellen oder bearbeiten.
Wenn Sie nicht bereit sind, etwas Zeit für die Entwicklung dieser Lösung aufzuwenden, würde ich Ihnen diese Art der "Live-Suche" nicht empfehlen.
quelle