Il arrive que lors de la recherche sur un blog WordPress, vous n'obteniez qu'un seul résultat. Selon l'organisation de votre site, il devrait s'agir de l'élément que l'utilisateur recherchait de toute façon. Un de nos utilisateurs a demandé s'il existait un moyen de rediriger vers l'article si la requête de recherche ne renvoie qu'une seule correspondance. Dans cet article, nous allons vous montrer comment rediriger les utilisateurs vers l'article lorsque la requête de recherche ne renvoie qu'une seule correspondance.
Tout ce que vous avez à faire est d'ouvrir le fichier functions.php de votre thème et de coller l'extrait de code 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 savoir que certains utilisateurs ne s'attendront pas à cette fonctionnalité. Cela pourrait donc les effrayer.


Casey Lessard
Ça a marché pour moi. J'utilise un moteur de recherche local avec WordPress et je cherchais cette solution depuis un moment. Fait exactement ce qui est décrit. Merci beaucoup !
Eric
Je veux faire en sorte que lorsque quelqu'un recherche une phrase spécifique, il soit redirigé vers un œuf de Pâques, par exemple si quelqu'un recherche spécifiquement « Je vois des morts » , il sera redirigé vers une URL que je peux définir.
Nebulas Website Design
Merci pour ce bout de code, il a rendu mon client très heureux et je ne pensais pas que c'était possible. Cependant, cela ne fonctionne pas pour nous, nous utilisons le plugin de recherche Relevanssi, est-ce que cela devrait fonctionner avec ça ?
carlos
Et si je veux rediriger n'importe quelle requête de recherche vers l'article le plus pertinent, quel que soit le nombre d'articles renvoyés par la recherche ? J'aimerais vraiment pouvoir faire ça.
Personnel éditorial
Supprimez la condition 'if' du code ci-dessus, et cela devrait fonctionner.
Admin
CalebZahnd
C'est pratique. Merci !