Parfois, lorsque vous recherchez un blog WordPress, vous obtenez uniquement un article dans le résultat. En fonction de l’organisation de votre site, il devrait s’agir de l’article que le compte recherchait. Un de nos utilisateurs/utilisatrices nous a demandé s’il y avait un moyen de rediriger vers la publication si la requête de recherche donne uniquement une correspondance. Dans cet article, nous allons vous afficher comment rediriger les utilisateurs/utilisatrices vers la publication lorsque la requête renvoie uniquement une correspondance.
Tout ce que vous avez à faire est d’ouvrir le fichier functions.php de votre thème et de coller l’extrait suivant.
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 ) ); } } }
Maintenant, vous devez faire attention au fait que certains utilisateurs/utilisatrices ne s’attendront pas à cette fonctionnalité. Elle risque donc de les effrayer.
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.
Administrateur
CalebZahnd
This is handy. Thanks!