La mise en surbrillance des mots-clés dans les résultats de recherche, dans le titre et l'extrait du message, permettra à vos utilisateurs de savoir ce qu'ils trouveront dans l'article.
Instructions : Ajoutez le code suivant au fichier functions.php de votre thème WordPress.
function wps_highlight_results($text){
if(is_search()){
$sr = get_query_var('s');
$keys = explode(" ",$sr);
$text = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">'.$sr.'</strong>', $text);
}
return $text;
}
add_filter('the_excerpt', 'wps_highlight_results');
add_filter('the_title', 'wps_highlight_results');
Vous pourriez également aimer remplacer les mots-clés dans le_contenu et le_extrait.
salut, j'espère que vous allez bien, merci pour le code !
je suis un locuteur portugais et j'ai besoin que la recherche corresponde aux accents aussi (:
par exemple : si je cherche 'mae', il ne met pas en surbrillance le résultat, car dans le texte il est écrit 'mãe'.
comment puis-je résoudre ce problème d'accent, s'il vous plaît ?
Merci, Cordialement
J'ai trouvé un problème avec cette fonction, si vous recherchez un terme qui est exactement le même qu'un élément de menu de navigation, cela perturbe la navigation, duplique les mots-clés à l'intérieur de l'élément de menu ainsi que quelques autres problèmes.
Y a-t-il un moyen de contourner cela ? Merci Sibbo
Cela peut entrer en conflit avec le thème. Vous devrez peut-être modifier la façon dont le style est appliqué.
ça marche à merveille. merci
Bon à savoir !
ça marche comme par magie…. muito obrigado.
cela perturbe les liens qui contiennent les termes de recherche
j'ai une fonction qui limite mon extrait, comment puis-je faire cela avec ça ?
Merci beaucoup pour cet extrait. J'ai cependant trouvé un petit problème : il décapitalise le terme de recherche dans les résultats de recherche.
Par exemple, si j'ai un article intitulé « Inclure les articles protégés par mot de passe » et que je recherche ensuite « inclure », le titre de mon article dans les résultats de recherche s'affichera comme « inclure les articles protégés par mot de passe ».
Avez-vous une idée de comment cela pourrait être corrigé ?
Changez la chaîne de remplacement de
''.$sr.''à'$1'Salut,
Je ne suis pas très calé en PHP, donc lorsque j'ai remplacé les chaînes, j'ai eu des erreurs.
Mon site a failli planter.
Vous voudrez peut-être consulter cette page : https://www.isitwp.com/properly-add-code-snippets-wordpress-site/
Avez-vous vu des messages d'erreur ? Si oui, quels étaient ces messages ?