實在扛不住 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」;}
上面的代碼就是使得搜索的結構代碼,先按照日誌的標題的相關性排序,然後按照日誌的內容,最後才是日的志修改時間和 ID,這樣的修改之後,WordPress 搜索的結果相關性就提高了很多。