WordPress提高WordPress搜索的相關性的方法
來源:程序員人生 發布時間:2013-10-28 08:02:55 閱讀次數:2777次
原來筆者一直使用谷歌的站內搜索,但是最近谷歌在我國的訪問速度越來越差!!實在扛不住 Google 自定義搜索的速度了,于是把站內搜索換回了 WordPress 自帶的搜索,但是 WordPress 的默認搜索結果是按照文章的發布時間來排序的,這樣的搜索結果的相關性并不強,應該讓搜索結果按照內容相關性排序,而不是按照時間或者 ID,所以我們可以在當前主題的 functions.php 添加如下代碼來增強 WordPress 搜索的相關性:
add_filter('posts_orderby_request', 'wpjam_search_orderby_filter');
function wpjam_search_orderby_filter($orderby = ''){
global $wpdb;
$keyword = $wpdb->prepare($_REQUEST['s']);
return "((CASE WHEN {$wpdb->posts}.post_title LIKE '%{$keyword}%' THEN 2 ELSE 0 END) + (CASE WHEN {$wpdb->posts}.post_content LIKE '%{$keyword}%' THEN 1 ELSE 0 END)) DESC, {$wpdb->posts}.post_modified DESC, {$wpdb->posts}.ID ASC";
}
上面的代碼就是使得搜索的結構d先按照日志的標題的相關性排序,然后按照日志的內容,最后才是日的志修改時間和 ID,這樣的修改之后,WordPress 搜索的結果相關性就提高了很多。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈