Con este código destacaremos los términos de búsqueda en los resultados. Por defecto WP busca en el título, extracto y cuerpo de la noticia, si queremos acotar dónde debe buscar, podemos usar el plugin WP Extended Search para acotar las búsquedas al título, extracto y/o cuerpo, además de otras funciones y opciones realmente avanzadas para ser un plugin gratuito.
/*Función para marcar las palabras en los resultados de búsqueda*/ function search_excerpt_highlight() { $excerpt = get_the_excerpt(); $keys = implode('|', explode(' ', get_search_query())); $excerpt = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $excerpt); echo '<p>' . $excerpt . '</p>'; } function search_title_highlight() { $title = get_the_title(); $keys = implode('|', explode(' ', get_search_query())); $title = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $title); echo $title; }
Ahora queda modificar el search.php. En el bucle habrá que poner <?php search_title_highlight(); ?>
donde tengamos <?php the_title(); ?>
y usar <?php search_excerpt_highlight(); ?>
en vez de <?php the_excerpt(); ?>
Por último damos color:
/*Color de la palabra de los resultados de búsqueda*/ .search-highlight { background:#FFFF00 }