X

Resaltar palabras clave en los resultados de búsqueda dentro de the_excerpt y the_title

Snippets de IsItWP

Resaltar las palabras clave en los resultados de búsqueda dentro del título y el extracto de la publicación hará que sus usuarios sepan lo que encontrarán en el artículo.

Instrucciones: Agregue el siguiente código al archivo functions.php de su tema de 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');

También puede disfrutar reemplazando palabras clave en el contenido y el extracto.

Comentarios   Dejar una respuesta

  1. hola, espero que esto te encuentre bien, ¡gracias por el código!

    soy hablante de portugués y necesito que la búsqueda coincida con los acentos también (:

    por ejemplo: si busco 'mae', no resalta el resultado, ya que en el texto aparece 'mãe'.

    ¿cómo puedo superar este problema de acentos, por favor?

    Gracias,
    Saludos cordiales

  2. Encontré un problema con esta función, si buscas un término que es exactamente igual a un elemento del menú de navegación, arruina la navegación, duplica las palabras clave dentro del elemento del menú junto con un par de otros problemas.

    ¿Hay alguna forma de evitar esto?
    Gracias
    Sibbo

    1. Puede estar en conflicto con el tema. Es posible que deba editar cómo se aplica el estilo.

  3. funciona a la perfección. gracias

    1. ¡Bueno saberlo!

  4. johannes khampepe December 29, 2016 at 1:07 pm

    funciona de maravilla…. muy obrigado.

  5. arruina los enlaces que contienen los términos de búsqueda

  6. tengo una función que limita mi extracto, ¿cómo puedo hacer eso con esto?

  7. Muchas gracias por este fragmento. Sin embargo, encontré un pequeño problema: de-capitaliza el término de búsqueda en los resultados de búsqueda.

    Por ejemplo, si tengo una publicación titulada "Incluir publicaciones protegidas con contraseña" y luego busco "incluir", el título de mi publicación en los resultados de búsqueda se mostrará como "incluir publicaciones protegidas con contraseña".

    ¿Alguna idea de cómo se podría solucionar esto?

    1. Harry William Love April 2, 2013 at 3:24 pm

      Cambie la cadena de reemplazo de

      ''.$sr.''

      a

      '$1'

      1. Peter Onyegbule July 7, 2020 at 9:50 am

        Hola,

        No estoy muy metido en la codificación PHP, así que cuando reemplacé las cadenas, obtuve errores.

        Mi sitio casi se cae.

        1. Quizás quieras visitar esta página: https://www.isitwp.com/properly-add-code-snippets-wordpress-site/

          ¿Viste algún mensaje de error? Si es así, ¿cuáles fueron los mensajes?

Agregar un comentario

Nos complace que hayas elegido dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de privacidad, y todos los enlaces son nofollow. NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!