Home »  Wordpress

#35 Surligner les recherches dans Wordpress.

Posté le 19 avr 2009 | Vu 1 447 fois4 Potins

Le moteur de recherche de WordPress est souvent critiqué pour ne pas être assez puissant. Un de ses points faibles, à mon avis c’est que le texte recherché n’est pas facile à distinguer du reste du texte. Voici une astuce pour résoudre ce problème.Ouvrez le fichier search.php de votre thème, puis rechercher cette fonction <?php the_title(); ?>, attention il peut y avoir 2 résultats possible et la remplacer par <?php echo $title;?>
surlignage_1

Il ne faut  pas remplacer  title=Permanent link to <?php the_title(); ?>, qui permet d’afficher dans l’info bulle le nom du billet.

surlignage_2

Maintenant juste avant la ligne  que vous venez de modifier insérer le code suivant :

<?php
$title     = get_the_title();
$keys= explode( » « ,$s);
$title     = preg_replace(‘/(‘.implode(‘|’, $keys) .’)/iu’,
‘<strong class= »search-excerpt »>\0</strong>’,
$title);
?>

Votre code doit ressembler à ça :

surlignage_3

Pour afficher le surlignage jaune fluo, il faut modifier le fichier style.css de votre thème et rajouter ce code :

strong.search-excerpt { background: yellow; }

Maintenant vous pouvez faire un essai pour voir le rendu en cliquant ici

That’s All.

Difficulté : Intermédiaire
Modification : -
Crédits : -

Imprimer ce billet

Autre(s) article(s) intéressant(s):

  1. #12 Modifier la page 404.php de wordpress.
  2. #86 Intégrer vos statistiques Google Analytics dans Wordpress.
  3. #163 Désactiver le formatage automatique des billets sous Wordpress.
  4. #87 Réinitialisation de la base de données de Wordpress.

4 Potins »

  • Mr Xhark dit:

    J’avais vu le hack déjà ailleurs, il était même un peu plus détaillé :
    http://forum.3oneseven.com/topic/hacks/page/10 ;)

  • Webmaster (auteur) dit:

    Merci pour le lien. Je bookmark.

    Guillaume.

  • romain dit:

    Bah cela ne fonctionne pas chez moi :(

  • romain dit:

    ha si en fait mais j’ai préféré utiliser get_the_excerpt(); au lieu de get_the_title(); afin de surligner dans le texte. Merci :)

Laisser votre message !