原来笔者一直使用谷歌的站内搜索,但是最近谷歌在我国的访问速度越来越差!!实在扛不住 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 搜索的结果相关性就提高了很多。
总结以上是内存溢出为你收集整理的WordPress提高WordPress搜索的相关性的方法全部内容,希望文章能够帮你解决WordPress提高WordPress搜索的相关性的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)