X

Comment rediriger lorsque la recherche WordPress ne renvoie qu'une seule correspondance

Extraits par IsItWP

Vous souhaitez rediriger votre recherche vers l'article s'il n'y a qu'un seul résultat de recherche ? Cet extrait de code améliore l'expérience de recherche sur site en éliminant le besoin d'un clic.

Instructions :

Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

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

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site, tels que : Améliorez l'expérience de recherche par défaut de WordPress – l'avis complet sur Search WP.

Commentaires   Laisser une réponse

  1. J'obtiens une erreur de syntaxe, « $wp_query » inattendu (T_VARIABLE) lorsque je copie-colle votre code dans le fichier functions.php. J'ai donc un type de publication personnalisé nommé 'cars' avec 4 taxonomies et j'ai créé une page d'archive qui utilise le plugin 'grid' et le plugin 'search and filter pro'. Tout fonctionne bien, mais je veux être redirigé vers la page de publication au lieu de cela s'il n'y a qu'un seul résultat dans l'archive. Pouvez-vous me donner quelques pistes ? Merci !

  2. Merci !

  3. 12 Not-So-Obvious WordPress Tweaks to Improve Posts and Pages - WPMU DEV March 27, 2015 at 8:10 am

    […] j'aime vraiment celui-ci – merci WP Snipp ! Lorsqu'un utilisateur recherche sur votre site et qu'il n'y a qu'un seul résultat, l'utilisateur est dirigé directement vers le […]

  4. WordPress Conditional Tags (And Snippets) for Beginners March 4, 2015 at 11:52 pm

    […] [Source] […]

  5. Cameron Coleman July 26, 2013 at 6:31 pm

    Beau code mais je ferais une amélioration... changez

    if ($wp_query->post_count == 1) vers
    if ($wp_query->found_posts == 1)
    Le code original casse la pagination lorsqu'il ne reste qu'un seul article sur la page suivante et redirige vers celle-ci au lieu de l'afficher. par ex. Si une archive d'articles est configurée pour afficher 10 articles par page et que 11 résultats sont retournés, au lieu d'afficher le dernier article, il y est redirigé.

    1. cela fonctionne correctement, merci !

      1. Content que cela ait aidé 🙂

  6. 29 Wordpress Tweaks to Improve Posts and Pages October 18, 2011 at 9:03 am

    [...] [Source : WPSNIPP] [...]

  7. Votre exemple a bien fonctionné pour moi, tout semble fonctionner.

    1. Cliff Paulick July 25, 2011 at 6:37 pm

      Salut, moi aussi maintenant. Désolé. Merci.

      1. pas de problème 🙂

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !