Выделение слов в поиске в WordPress - PullRequest
4 голосов
/ 18 сентября 2010

Я использую встроенные в WordPress подпрограммы search.php. Можно ли выделить искомое слово в контексте с найденными результатами поиска?

Например, если я введу «продукты», любая страница, которая вернула это совпадающее слово, будет выделена пользователю.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 19 сентября 2010

Вот функция, которую вы можете добавить в functions.php, чтобы выделить искомый термин в результатах.

/* Search Highlighting ********************************************/
// This highlights search terms in both titles, excerpts and content

function search_excerpt_highlight() {
 $excerpt = get_the_excerpt();
 $keys = implode('|', explode(' ', get_search_query()));
 $excerpt = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $excerpt);

 echo '<p>' . $excerpt . '</p>';
}


function search_title_highlight() {
 $title = get_the_title();
 $keys = implode('|', explode(' ', get_search_query()));
 $title = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $title);

 echo $title;
}

Чтобы использовать эту функцию, ее необходимо добавить в цикл архивирования:

<?php if (is_search() ) { 

    search_excerpt_highlight(); } ?>
1 голос
/ 18 сентября 2010

Вот несколько плагинов WP, которые выделяют слова для поиска с помощью jQuery:

http://wordpress.org/extend/plugins/highlight-search-terms/

http://urbangiraffe.com/plugins/search-unleashed/

или сделай сам http://www.livexp.net/wordpress/highlight-the-search-terms-in-wordpress-search-results.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...