[WordPress教程] 实现wordpress搜索结果关键词限制在文章标题 -静鱼客栈

2021-09-29 0 357
请勿商业运营,违法使用和传播!资源仅供研究学习使用!解压密码为:www.52jyu.cn

WordPress默认搜索结果是在文章全文匹配,包括文章内容、文章标题与文章标签,但凡文章中包含搜索关键词都会出现在搜索结果中,这样导致搜索出来的结果不够精确,要想提高搜索结果的精确度可以限制搜索关键词只在文章标题匹配,通过下面的代码可以实现。

实现代码:

把下面的代码添加到当前主题的functions.php文件:


function __search_by_title_only($search, &$wp_query) {
    if (empty($search)) return $search; // skip processing - no search term in query
    $q = &$wp_query - >query_vars;
    // wp-includes/query.php line 2128 (version 3.1)
    $n = !empty($q['exact']) ? '': '%';
    $searchand = '';
    foreach((array) $q['search_terms'] as $term) {
        $term = esc_sql(like_escape($term));
        $search. = "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
        $searchand = ' AND ';
    }
    $term = esc_sql(like_escape($q['s']));
    if (empty($q['sentence']) && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s']) $search. = " OR ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
    if (!empty($search)) {
        $search = " AND ({$search}) ";
        if (!is_user_logged_in()) $search. = " AND ($wpdb->posts.post_password = '') ";
    }
    return $search;
}
add_filter('posts_search', '__search_by_title_only', 10, 2);

 

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!305582964@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有U点奖励和额外收入!

静鱼客栈 学习中心 [WordPress教程] 实现wordpress搜索结果关键词限制在文章标题 -静鱼客栈 https://www.52jyu.cn/9531.html

静鱼客栈的帅逼站长~

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP贵宾介绍。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器没有下载完整造成的,可以重新进行下载即可~
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务