Aby Twoje wyszukiwanie w WordPressie było jeszcze bardziej przyjazne dla użytkownika, możesz wyróżnić wyszukiwane terminy w wynikach. Zrobiliśmy to dla jednego z naszych klientów, więc pomyśleliśmy, że będzie to przydatne dla innych użytkowników. W tym artykule pokażemy, jak można wyróżnić wyszukiwane terminy w wynikach wyszukiwania w WordPress.
Najpierw otwórz twój search.php i poszukaj następującego kodu:
<?php the_title(); ?>
.
Zastąp powyższy kod na:
<?php echo $title; ?>
.
Upewnij się, że wkleiłeś tę linię nad kodem tytułu:
<?php $title = get_the_title(); $keys= explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">\0</strong>', $title); ?>
.
Teraz otwórz twój plik CSS i dodaj stylizację dla klasy search-excerpt, która podświetli wyszukiwany termin. Obecny, aktualny kod pogrubia wyszukiwane terminy. Możesz wypróbować ten prosty CSS w arkuszu stylów twojego motywu.
strong.search-excerpt { background-color:yellow; color:blue; }
.
Źródło: Michael Martin
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.
Administrator
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
Administrator
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!