分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress搜索只显示标题中含有关键字的文章
  • WordPress搜索只显示标题中含有关键字的文章

    WordPress搜索只显示标题中含有关键字的文章-BanYuner

    今天在知更鸟博客上面看到了这篇文章,整体来说,这个功能在某些方面还是比较有用的,如果说通过标题中的关键字来寻找文章的话,精确度方面会好很多。

    但是我个人比较喜欢折腾,我个人觉得,可以将这个功能进行这样的处理。

    搜索的时候显示所有的文章,也就是说无论是正文或者是标题中含有关键字的文章都显示出来,根据原理,标题中含有关键词的文章会在前面,文章中含有关键词的文章会在后面,那么我们可以通过某种方式,将文章内容中含有关键词的文章进行一次筛选,筛选过后就仅仅只剩标题中有关键词的文章了。

    同样的,这个是搜索之后的改变,如果你觉得没有必要的话,那么同样学习百度或者搜索引擎一样,添加一个checkbox来勾选进行精准筛选都是可以的。

    所以这个方法仅仅是一个指引,想要利用这个方法做出别的事情,我个人觉得还是可以的。

    // 只搜索文章标题
    function wpse_11826_search_by_title( $search, $wp_query ) {
        if ( ! empty( $search ) && ! empty( $wp_query->query_vars['search_terms'] ) ) {
            global $wpdb;
            $q = $wp_query->query_vars;
            $n = ! empty( $q['exact'] ) ? '' : '%';
            $search = array();
            foreach ( ( array ) $q['search_terms'] as $term )
                $search[] = $wpdb->prepare( "$wpdb->posts.post_title LIKE %s", $n . $wpdb->esc_like( $term ) . $n );
            if ( ! is_user_logged_in() )
                $search[] = "$wpdb->posts.post_password = ''";
            $search = ' AND ' . implode( ' AND ', $search );
        }
        return $search;
    }
    add_filter( 'posts_search', 'wpse_11826_search_by_title', 10, 2 );
    

    以上代码直接添加到functions.php中即可。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress搜索只显示标题中含有关键字的文章

    支付宝(点击图片切换)

    扫码,支持我

    WordPress搜索只显示标题中含有关键字的文章

    微信(点击图片切换)

    扫码,手机看

    WordPress搜索只显示标题中含有关键字的文章
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    WordPress搜索只显示标题中含有关键字的文章
    9 + 4 =