Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > CMS > wordpress > 正文

如何限制WordPress只在文章标题中搜索关键词

时间:2015-02-05 16:22 来源:网络整理 作者:51ou.com 阅读:

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']) >  && $q['search_terms'][] != $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', , );

保存即可

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《如何限制WordPress只在文章标题中搜索关键词》技术文章,《如何限制WordPress只在文章标题中搜索关键词》详细使用和说明,有时《如何限制WordPress只在文章标题中搜索关键词》可能不完善、敬请谅解!如果《如何限制WordPress只在文章标题中搜索关键词》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片