Erstellen Sie eine Suche mit einer Tag-Variablen, die auch für detailliertere Ergebnisse hinzugefügt wird

WordPress Suchergebnisse ist definitiv nicht die beste Indexierung und Suchfunktion, die wir gesehen haben. Wenn Sie mehrere Tag-Variablen in der Suche hinzufügen, um ein präziseres Ergebnis zu erhalten?

Beispielsweise:

Standardsuchabfrage: www.example.com/?s=kidsbook

Was ist, wenn wir es ein wenig aufgepeppt haben, indem wir bei der Suche noch einige Tags hinzugefügt haben, die die Ergebnisse haben müssen (zum Beispiel Autorin und Bestseller). So dass nur Ergebnisse von Kidsbook UND von diesen Ergebnissen nur die Bestseller von weiblichen Autoren post.

Würde das Beispiel unten funktionieren?

 www.example.com/?s=kidsbook&tag=femaleauthor&tag=bestseller 

Würde die Suche beide Tags akzeptieren?

Letzte Frage würde diese Art der Suche eine viel größere Last auf dem Server verursachen?

Danke für deine Antworten.

Solutions Collecting From Web of "Erstellen Sie eine Suche mit einer Tag-Variablen, die auch für detailliertere Ergebnisse hinzugefügt wird"

Fügen Sie dem Formular eine neue Eingabe hinzu, der Name ist der Schlüssel. Sie können problemlos auf Abfrage-Vars zugreifen, die mit WP_Query mit der function get_query_var mit einem Paramerter-Supporter get_query_var .

Zum Beispiel könnten Sie versuchen, eine URL wie folgt zu generieren:

 http://example.com/?s=test&tag=5-personas,4-personas 

Und mit get_query_var(tag) Sie die Werte, und Sie erstellen eine benutzerdefinierte WP_Query mit diesen Parametern.

 $query = new WP_Query( array( 's' => get_query_var('s'), 'tag' => get_query_var('tag') ) ); 

Eine Sache, die Sie berücksichtigen müssen, ist, dass Sie nicht denselben Parameter zweimal in der URL haben können, get_query_var , Sie können, aber Sie können nicht die function get_query_var verwenden, um den Wert zu erhalten.

Sie können jQuery verwenden, um die ausgewählten Optionen von einem select mit dem Attribut multiple abzurufen und die Auswahl an eine Eingabe mit dem Namen “tag” zu übergeben. Es gibt andere Problemumgehungen dafür.

Die Abfrage beeinträchtigt die performance nicht so sehr.

Ich hoffe, dies gibt Ihnen und eine Idee, was zu tun ist.