本篇文章講的是提高 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);
?>

這個代碼可以加粗文章標題裏的關鍵詞,另外你也可以通過增加樣式使關鍵詞更加突出。