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

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