的默认搜索结果是按照文章的发布时间来排序的,这样的搜索结果的相关性并不强,应该让搜索结果按照内容相关性排序,而不是按照时间或者
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 搜索的结果相关性就提高了很多。