WordPress 技巧:提高 WordPress 搜索的相关性

2012-11-24 10:49 稿源:fairyfish.net  0条评论

实在扛不住 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 搜索的结果相关性就提高了很多。

文章来源:fairyfish.net

有好的文章希望站长之家帮助分享推广,猛戳这里我要投稿

相关文章

相关热点

查看更多