我正在使用内置的WordPress search.php例程,是否可以在检索到的搜索结果的上下文中突出显示搜索的单词?
例如,如果我输入“products”,则返回此匹配单词的任何页面都会突出显示给用户。
感谢。
答案 0 :(得分:4)
这是一个可以添加到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 :(得分:1)