找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1820|回复: 0

[分享] 添加代码来增强 WordPress 搜索的相关性

[复制链接]
发表于 2016-1-14 10:06:58 | 显示全部楼层 |阅读模式 来自 河南省南阳市

实在扛不住 Google 自定义搜索的速度了,把之前的搜索换回了 WordPress 自带的搜索,但是 WordPress 的默认搜索结果是按照文章的发布时间来排序的,这样的搜索结果的相关性并不强,应该让搜索结果按照内容相关性排序,而不是按照时间或者 ID,所以我们可以在当前主题的 functions.php添加如下代码来增强 WordPress 搜索的相关性:
  1. add_filter(‘posts_orderby_request’, ‘wpjam_search_orderby_filter’);
  2. function wpjam_search_orderby_filter($orderby = ‘’){
  3. global $wpdb;
  4. $keyword = $wpdb->prepare($_REQUEST[‘s’]);
  5. 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”;
  6. }  
复制代码
上面的代码就是使得搜索的结构代码,先按照日志的标题的相关性排序,然后按照日志的内容,最后才是日的志修改时间和 ID,这样的修改之后,WordPress 搜索的结果相关性就提高了很多。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-5-4 08:48 , Processed in 0.051958 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表