Данный сниппет позволит выделить поисковую фразу в результатах поиска по сайта без использования каких-либо дополнительных WordPress-плагинов. Пример на скриншоте:

подсветка результата

Нижепреведенный код с 2 функциями необходимо добавить в файл functions.php:

function search\_excerpt\_highlight() {
	$excerpt = get\_the\_excerpt();
	$keys = implode(‘|’, explode(‘ ‘, get\_search\_query()));
	$excerpt = preg_replace(&#8216;/(&#8216; . $keys .&#8217;)/iu&#8217;, &#8216;<strong class="search-highlight">&#92;&#48;</strong>&#8217;, $excerpt);
	echo &#8216;<p>&#8217; . $excerpt . &#8216;</p>&#8217;;
}

function search\_title\_highlight() {
	$title = get\_the\_title();
	$keys = implode(&#8216;|&#8217;, explode(&#8216; &#8216;, get\_search\_query()));
	$title = preg_replace(&#8216;/(&#8216; . $keys .&#8217;)/iu&#8217;, &#8216;<strong class="search-highlight">&#92;&#48;</strong>&#8217;, $title);
	echo $title;
}

Теперь перейдем в файл search.php отвечающий за отображение результатов поиска. В нем необходимо заменить 2 стандартные функций на наши новые функций, которые мы только что переписали. the_title() на search_title_highlight() и the_excerpt(), соответственно на search_excerpt_highlight().

В style.css можно добавить класс для того чтобы выделить найденную фразу с помощью фона:

.search-highlight {
	background:#FFFFB6;
}

Источник

Опубликовано

Похожие записи

Подробнее

ArtsLab

Блог для тех, кто интересуется разработкой сайтов, веб-дизайном и новыми событиями в интернете. В моем блоге Вы найдете записи на различные околокомпьютерные темы, обзоры сервисов и новинок, статьи по кодингу, советы, скрипты, темы и хаки для wordpress, уроки phostohop и многое другое.

4gray artslab artslabinfo