Я настроил результаты поиска, чтобы выделить результаты поиска в отрывке и содержании. Тем не менее, я сталкиваюсь с небольшой проблемой, которую не могу исправить.
Пример. У меня есть соответствующий текст, такой как «Это пример». Когда я ищу «это пример», он сначала выделяет отдельные слова, такие как «это», «пример» и т. Д. c, даже если вся строка существует. Как я могу исправить это так, чтобы он выдвигал на первый план результаты точным соответствием текста и затем отдельными словами после? Это то, что у меня есть.
function highlight_results($text){
if(is_search()){
$keys = implode('|', explode(' ', get_search_query()));
$text = preg_replace('/(' . $keys .')/iu', '<span class="search-highlight">\0</span>', $text);
}
return $text;
}
add_filter('the_content', 'highlight_results');
add_filter('the_excerpt', 'highlight_results');
function highlight_results_css() {
?>
<style>
.search-highlight { background-color:#FF0; font-weight:bold; }
</style>
<?php
}
add_action('wp_head','highlight_results_css');
Пожалуйста, помогите, спасибо.