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.
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
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
Puede estar en conflicto con el tema. Es posible que deba editar cómo se aplica el estilo.
funciona a la perfección. gracias
¡Bueno saberlo!
funciona de maravilla…. muy obrigado.
arruina los enlaces que contienen los términos de búsqueda
tengo una función que limita mi extracto, ¿cómo puedo hacer eso con esto?
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?
Cambie la cadena de reemplazo de
''.$sr.''
a
'$1'
Hola,
No estoy muy metido en la codificación PHP, así que cuando reemplacé las cadenas, obtuve errores.
Mi sitio casi se cae.
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?