怎样让 WordPress 的搜刮功效凭证搜刮词的相干性排序

时间:2014-01-26所属栏目: WordPress教程 来源: 热度:

凡是环境下我们在 WordPress 网站里搜刮一个要害词,默认的功效页面中日记是凭证宣布时刻来排序的。这样纵然我们搜刮到了我们必要的功效,但要想找到最贴合的搜刮功效也如大海捞针一样。我们着实有个步伐可以让搜刮功效凭证相干性分列,这样就能更亲和用户。

打开主题的 functions.php 文件,插入下面这段代码:


// Search results page
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";
}

虽然这也是相对亲和,事实对搜刮功效的处理赏罚是个大学问,否则为毛baidu相对google要显得略弱者……这段代码只是思量了最简朴的环境,当文章问题含有要害字的时辰给以权重值 2,内容里含有要害字的时辰给以权重值 1,把两个权重值相加往后降序分列。然后才用文章宣布时刻降序作为候补排序要领,仅供参考。

标签:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)