网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 WordPress博客搜索结果按照相关性排序
内容
    WordPress默认的搜索结果按照文章的发布时间来排序,这样使我们无法搜索到最对自己口味的文章,其实有个办法可以让搜索结果按照相关性排列。
    打开主题的 functions.php 文件,插入下面这段代码:
    if(is_search()){
    add_filter('posts_orderby_request', 'search_orderby_filter');
    }
    function 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_date DESC";
    }
    当然,这段代码只是考虑了最简单的情况,当文章标题含有关键字的时候给予权重值 2,内容里含有关键字的时候给予权重值 1,把两个权重值相加以后降序排列。然后才用文章发布时间降序作为候补排序方法。
    根据我的测试,采用这种排序方法获得的搜索结果比默认的排序好多了。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/19 5:34:21