實在扛不住 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 搜尋的結果相關性就提高了很多。