Es kommt vor, dass bei der Suche in einem WordPress-Blog nur ein einziges Element im Ergebnis angezeigt wird. Je nachdem, wie gut Ihre Website organisiert ist, sollte dies der Artikel sein, nach dem der Nutzer ohnehin gesucht hat. Einer unserer Benutzer fragte, ob es eine Möglichkeit gäbe, zu dem Beitrag weiterzuleiten, wenn die Suchanfrage nur einen Treffer ergibt. In diesem Artikel zeigen wir Ihnen, wie Sie Nutzer zum Beitrag weiterleiten können, wenn die Suchanfrage nur einen Treffer ergibt.
Alles was Sie tun müssen, ist die functions.php Datei Ihres Themes zu öffnen und das folgende Snippet einzufügen.
add_action('template_redirect', 'one_match_redirect'); function one_match_redirect() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); } } }
Beachten Sie bitte, dass einige Benutzer diese Funktion nicht erwarten werden. Es könnte sie also verunsichern.
Casey Lessard
Worked for me. I run a local search engine using WordPress and I have been trying to find this solution for some time. Does exactly as described. Thank you so much!
Eric
I want to make it so when some searches a specific phrase it redirects to an easter egg, like if someone searches „I see dead people“ specifically it’ll redirect them to a URL I can define.
Nebulas Website Design
Thanks for this piece of code it made my client very happy and I didn’t thnk it could be done. However it’s not working for us we are using the Relevanssi search plugin should it work with this?
carlos
What if I want to redirect any search query to the most relevant post no matter what the number of posts the search returns? I’d really like to be able to do that.
Editorial Staff
Get rid of the if conditional from the code above, and it should do it.
Admin
CalebZahnd
This is handy. Thanks!