突出显示在WordPress搜索中搜索的单词

时间:2010-09-18 06:42:29

标签: wordpress

我正在使用内置的WordPress search.php例程,是否可以在检索到的搜索结果的上下文中突出显示搜索的单词?

例如,如果我输入“products”,则返回此匹配单词的任何页面都会突出显示给用户。

感谢。

2 个答案:

答案 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)