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 ) );
        }
    }
}

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Afficher les 3 commentaires

3 commentaires

  1. 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.