本篇文章讲的是提高 WordPress 自带的搜索功能的体验,使用 Google CSE 的可以飘过。

随着站内信息的增多,站内搜索成为了每个网站必不可少的功能。为了提高搜索体验,很多人采用 Google Custom Search Engine 服务作为站内搜索,可是使用搜索引擎进行站内搜索存在页面收录问题,因此对于新站是不实用的,因此使用 WordPress 提供的搜索功能是最好的选择。相对于 Google CSE,WordPress 的搜索功能有两个明显不足:

1 、不能显示被检索到的条目数量;

2 、关键词没有高亮。我们可以通过修改模板来添加这两个功能。

显示检索到的条目数量

打开主题的 search.php(不同的主题可能有所不同),把下面的代码添加到适当的地方。

以下为引用的内容:

< ?php
/* Search Count */
	$allsearch = &new WP_Query("s=$s&showposts=-1");
	$key = wp_specialchars($s, 1);
	$count = $allsearch->post_count;
	echo '<span class="search-terms">'.$key.'</span> &mdash; '.$count.' articles';
	wp_reset_query();
?>

这样例如在搜索“bolo” 时,检索到 10 篇文章,在将会提示:bolo — 0 articles 。

高亮关键词

在得到搜索结果以后,我们通常需要浏览一下条目的摘要,以选择一条自己觉得最符合要求的进行点击。高亮关键词,能是人们更快地找到自己所需要的条目。要增加这个功能,同样修改 search.php 。

以下为引用的内容:

//查找< ?php the_title(); ?>,替换成< ?php echo $title; ?>
 
//在< ?php echo $title; ?> 前增加以下代码:
 
< ?php
	$title = get_the_title();
	$keys= explode(" ",$s);
	$title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">', $title);
?>

这个代码可以加粗文章标题里的关键词,另外你也可以通过增加样式使关键词更加突出。