Imaginez qu’un de vos visiteurs fasse une recherche qui ne trouve qu’une seule correspondance. Plutôt que d’afficher la page de résultats avec le message « 1 résultat trouvé », vous pouvez directement le rediriger vers le poste correspondant grâce à ce petit snippet.
On améliore ainsi l’expérience utilisateur, en lui permettant d’accéder à sa requête en un seul clique au lieu de deux.
add_action('template_redirect', 'single_result');
function single_result() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Brice, thanks for your tips, they are very useful!
Perhaphs, also you like next tip: redirect to home if empty search with .htaccess file:
RewriteCond %{QUERY_STRING} ^s=$RewriteRule ^ /? [L,R=301]
Regards.
Thanks for the tip Cecilio,
You may also like this one.
Best,
Hey,
Merci pour tous ces snippets et bons plans 😉
Mon site est de plus en plus ergonomique, rapide et clean en terme d’outputs HTML.