Если вы хотите, чтобы слова, которые вы ищите, были подсвечены каким-нибудь ярким цветом, то можете улучшить файл поиска. Однако это улучшение подходит не всем – некоторые используют нестандартные темы без файла search.php. Да и результаты поиска указанный способ подсвечивает только одним цветом, а хочется, чтобы при поиске нескольких слов они были выделены разными цветами. Чтобы гарантированно добиться такой подсветки текста к результатах поиска, можете использовать функцию, пример которой приведу ниже.
Откройте файл functions.php и вставьте в него такой код:
function search_backlight($text, $echo=true)
{
$st1 = 'color: #000; background: #B6FF00;';
$st2 = 'color: #000; background: #5B7F00;';
$st3 = 'color: #000; background: #DAFF7F;';
$st4 = 'color: #000; background: #6D7F3F;';
$st5 = 'color: #000; background: #B6FF00;';
$st6 = 'color: #000; background: #B6FF00;';
$query_terms = get_query_var('search_terms');
if ( empty($query_terms) ) $query_terms = array(get_query_var('s'));
if ( empty($query_terms) ) return;
foreach ($query_terms as $term)
{
$n++;
if ($n==1) $style=$st1;
elseif($n==2) $style=$st2;
elseif($n==3) $style=$st3;
elseif($n==4) $style=$st4;
elseif($n==5) $style=$st5;
elseif($n==6) $style=$st6;
$term = preg_quote($term, '/');
$text = preg_replace("/(?<!<|</)($term)/iu","<span>$1</span>",$text);
}
if($echo) return print $text;
else return $text;
}
add_filter('the_title', 'search_backlight');
add_filter('the_excerpt', 'search_backlight');
add_filter('the_content', 'search_backlight'); Этот код подсвечивает найденный текст, если этот текст выводится функциями the_title (заголовки), the_excerpt (содержимое) и the_content (содержимое).
Пример: Открылась бездна звезд полна, звездам числа нет, бездне – дна.
Оригинал кода можно посмотреть здесь: http://wp-kama.ru/id_39/podsvechivaem-rezultatyi-poiska-bez-plaginov.html







