其实WordPress自带的默认搜索并不是很好,很多人都换到了百度搜索或者google搜索,但是百度的搜索需要百度官方邀请资格,我们这些小站点没有这种资格的,Google的最近被大陆屏蔽的厉害,所以还是老老实实的使用wordpress自带的搜索吧!

WordPress 的默认搜索结果是按照文章的发布时间来排序的,我们现在可以通过修改为搜索标题和内容相关提高wordpress搜索的准确性。

方法的实现也很简单的,

首先打开你当前使用主题的functions.php文件,然后在合适的位置加入以下代码

  1. add_filter('posts_orderby_request', 'wpjam_search_orderby_filter');
  2. function wpjam_search_orderby_filter($orderby = ''){
  3. if(is_search()){
  4. global $wpdb;
  5. $keyword = $wpdb->prepare($_REQUEST['s'],'');
  6. 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";
  7. }else{
  8. return $orderby;
  9. }
  10. }

然后保存,搜索下试试!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。