Webbell » WordPress хаки и советы » WordPress: подсветка искомого запроса в результатах поиска
Правила Контакты Чтение RSS

WordPress: подсветка искомого запроса в результатах поиска

У нас вы можете скачать бесплатно WordPress: подсветка искомого запроса в результатах поиска .

Не пропустите комментарии к WordPress: подсветка искомого запроса в результатах поиска.
Данный материал предоставлен сайтом Webbell.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
WordPress: подсветка искомого запроса в результатах поиска

В этой статье я хочу рассмотреть одну хитрость, которую можно применять в любых сайтах, работающих на WordPress. Суть ее состоит в том, что используя специальный php-код, который вставляется в файл шаблона и немного CSS, можно осуществить выделение слов, которые совпали с поисковыми запросами.
Чтобы осуществить это, нужно изменить файл search.php. Если на вашем сайте имеется поиск, но в папке шаблона отсутствует файл search.php, то лучше самостоятельно разобраться с тем, что нужно изменить в шаблоне, чтобы была затронута только страница результатов поиска.
Сначала нужно найти в файле код вида:

<?php the_title(); ?>


Его нужно заменить на следующий фрагмент кода:

<?php
$title = get_the_title();
$keys = explode(" ",$s);
$title = preg_replace('/('.implode('|', $keys) .')/iu', '\0', $title);
echo $title;
?>

Следующим этапом является поиск кода:

<?php the_excerpt(); ?> или <?php the_content(); ?>


Этот фрагмент заменяем на:

<?php
$excerpt = get_the_excerpt();
$keys = explode(" ",$s);
$excerpt = preg_replace('/('.implode('|', $keys) .')/iu', '\0', $excerpt);
echo $excerpt;
?>

Когда в шаблоне используется функция the_content(), то для того, чтобы вернуть вывод полного текста записи, используйте замену get_the_excerpt() на get_the_content(). Но иногда бывает так, что форматирование поста отображается некорректно, поэтому лучше использовать вывод анонса поста (get_the_excerpt()).
Чтобы слова подсвечивались только при полном соответствии запросу, то в вышеуказанных кодах нужно заменить:

'/('.implode('|', $keys) .')/iu'

на:

'~/b('.implode('|', $keys) .')/b~iu'

Теперь нужно с помощью CSS высветить слова исходного запроса. Чтобы осуществить это, нужно добавить следующее правило в файле стилей шаблона:

.search-excerpt { background: #FF9 }

Если все было выполнено правильно, то вы можете наслаждаться полученным результатом.
При желании можно заменить и HTML-тег, и его стиль (). Для этого лишь нужно внести некоторые поправки в указанный выше php-код. К примеру, вполне можно сделать так, чтобы в тексте записи слова показывались одним цветом, а в заголовке другим.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

«    Сентябрь 2018    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Яндекс Апдейты
↓ Апдейты Яndex тИЦ
18.11.2017 ←Последний
04.11.2017
16.08.2017
↓ Апдейты выдачи Яndexa
24.09.2018 ←Последний
21.09.2018
19.09.2018
↓ Апдейты ЯКаталога
16.01.2018 ←Последний
20.12.2017
15.12.2017
Мы рекомендуем
Заработай на сайте!
Gogetlinks-Биржа вечных ссылок для сайтов с Тиц
Getgoodlinks-Биржа вечных ссылок для сайтов с PR


Опрос на портале

Сколько у вас сайтов?

Больше 20 сайтов
От 10 до 20 сайтов
От 5 до 10 сайтов
От 1 до 5 сайтов
Нету сайтов

Наш архив
Облако тегов
ajax, Build, DataLife, dle, dle 9.0, dle 9.2, Engine, Final, Google, Opera, Release, RSS, WordPress, адаптация, административная панель, бесплатно, виджет, Игровой, кино, комментарии, модуль, новости, Новый, Оригинал, парсер, парсер поисковых систем yandex google рассылка комментариев по DLE Joomla Community спаммер раскрутк, Переходы, плагин wordpress, сайта, сайтов, сбор данных телефонов адресов email контактов потенциальные клиенты BlackSpider универсальный сборщи, тема, тематики, универсальный, хак, хак wordpress, Шаблон, шаблона, Яндекс

Показать все теги
Последние комментарии
Популярные файлы

Информация!
Уважаемый посетитель! Присоединяйтесь к нам
в Твиттере.