*

Destacar las palabras en los resultados de búsqueda de WordPress

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  
    }

Deja un comentario