首页 » 建站技术 » WordPress » 浏览内容

提高 WordPress 搜索的相关性


2012-11-25 01:13:15 1,311 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

本文来自:http://fairyfish.net/m/improve-wordpress-search/

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

      网站统计 Statistics

      • 创建时间: 2005年1月3日 距今4764 天
      • 日志总数: 2461
      • 评论总数: 630
      • 标签总数: 654
      • 链接总数: 273
      • 最后更新: 2017-7-1 18:16:33
      • 您是本站第 13199477 位访客

      广告区 Guǎng Gào