[resolved] Highlight von Suchstrings
-
Ein weit verbreitetes Code-Snippet, um Suchstrings hervorzuheben (plus CSS-Anweisung für die Markierung) ist das folgende:
function highlight_results($text){ if(is_search()){ $keys = implode('|', explode(' ', get_search_query())); $text = preg_replace('/(' . $keys .')/iu', '<span class="search-highlight"></span>', $text); } return $text; } add_filter('the_content', 'highlight_results'); add_filter('the_excerpt', 'highlight_results'); add_filter('the_title', 'highlight_results');
Lässt man das ganz normale Suchen-Feld von WordPress aber leer und drückt Enter (oder auf „Suchen“) werden die HTML-Tags angezeigt.
Neue WP-Installation, 4.5.2
Standardtheme Twentysixteen
sonst nichts installiert,
Standard-Beitrag und -Seite (also leicht nachvollziehbar).Eine Idee, was an dem Code verkehrt sein könnte/fehlt?
Ist nicht direkt eine Supportanfrage. War mir nur in anderen Installationen aufgefallen (mit anderen Themes, etc.). Und habe es vorhin noch einmal mit einer jungfräulichen WP-Installation nachvollziehen können.
Dasselbe übrigens auch bei diesem leicht abgeänderten (aber auch häufig anzutreffenden) Code:
function wps_highlight_results($searchtext){ if(is_search()){ $sr = get_query_var('s'); $keys = explode(" ",$sr); $searchtext = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">'.$sr.'</strong>', $searchtext); } return $searchtext; } add_filter('the_excerpt', 'wps_highlight_results'); add_filter('the_title', 'wps_highlight_results');
Wäre das ein Fall für ein Trac-Ticket?
- Das Thema „[resolved] Highlight von Suchstrings“ ist für neue Antworten geschlossen.