En un intento de hacer tu búsqueda en WordPress aún más fácil de usar, puedes resaltar los términos de búsqueda en los resultados. Hicimos esto para uno de nuestros clientes, así que pensamos que sería útil para otros usuarios. En este artículo te mostraremos cómo puedes resaltar términos de búsqueda en los resultados en WordPress.
Primero abre tu search. php y busca el siguiente código:
<?php the_title(); ?>
Sustituye el código anterior por:
<?php echo $title; ?>
Asegúrate de pegar esta línea encima del código del título:
<?php $title = get_the_title(); $keys= explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">\0</strong>', $title); ?>
Ahora abre tu archivo CSS y añade el estilo para la clase search-excerpt, y resaltará el término. Actualmente el código hace que los términos de búsqueda aparezcan en negrita. Puedes probar este sencillo CSS en la hoja de estilos de tu tema.
strong.search-excerpt { background-color:yellow; color:blue; }
Fuente: Michael Martin
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Rachelle
This works great but how do you highlight the search term in the excerpt and not just the title?
Imme
Hej, thank you very much for this very helpful piece of code. Is there a way to exclude links? The code as is breaks many of the “more”-links on my site.
Vernon Fowler
Any chance you can update this neat tutorial for modern themes such as Twenty Seventeen where instead of title() in the loop, the loop goes through:
1-click Use in WordPress
I’m comfortable with replacing
1-click Use in WordPress
with HTML5
1-click Use in WordPress
and the relevant CSS.
Or will we need a different approach in themes using get_template_part ?
WPBeginner Support
Hey Vernon,
Thanks for the suggestion. We will try to update the article with more detailed instructions.
Meanwhile, you will need to edit the /template-parts/content-search.php template. If your theme does not have it, then you can create it and then reference it in your search.php template.
Administrador
Vernon Fowler
That’s working. Thank you.
Can we do the same for the_content as for the the_title or do we need a different approach?
Wayan Cenik
Thanks a lot for the code, is work perfectly
I just the code at function, and done, is work
Marlene
Hi
I can´t find on my site. I have this:
How can I change someting in that?
Thanks
Marlene
Steph
There is no “” in my search.php file..
—————————–
Mine looks like this:
“”
WPBeginner Support
Seems like you wanted to paste code and it stripped out. Please wrap your code around [php] [/php] tags
Administrador
Mahesh
Thanks @michael
Steve
This doesn’t even come close to working. All it does is display the title of the page the search term is found on. The terms themselves aren’t wrapped in any tags whatsoever.
nate
Actually, it works perfectly. I don’t think you know what you are doing.
Jason
Thanks! Works like a charm!
Chris
You should add a little example image on every tutorial, that would be more understandable (:
DauAnunturi
Nice tutorial. And for those wo want to make some highlight with colors they must define their css class as div.highlight
and replace the code with
And that`s alll. Thanks and have fun.
Nina
Very helpful tutorial, will use it later on
Thanks for sharing!