0 732 2021-01-02 01:01:48
收藏WordPress默认的搜索功能会将文章中出现的词也一起匹配,这样虽然搜索很全面,但是却会得到很多不正确的结果,增加获得信息的难度。如果不想匹配文章内容中出现的关键词,我们可以通过posts_search过滤器,将搜索结果替换成我们自己的搜索逻辑即可。
操作步骤
下面的教程与我更新主题后的操作是一样的,所以有新增配置项的操作,如果你不需要,可以直接进入最后一步。
新增配置项
在主题设置配置文件options.php中添加如下配置项,位置随便你,建议添加到基本选项卡中。
$options[]=array(
'name'=>__('搜索时关键字只匹配标题','haoui'),
'id'=>'search_title',
'type'=>"checkbox",
'std'=>true,
'desc'=>__('开启','haoui'));
替换搜索逻辑
以下代码放在functions.php中,或者被functions.php引用的文件中。
functionhui_search_by_title_only($search){
global$wpdb,$wp_query;
if(empty($search))
return$search;
$q=$wp_query->query_vars;
$n=!empty($q['exact'])?'':'%';
$search=
$searchand='';
foreach((array)$q['search_terms']as$term){
$term=esc_sql($wpdb->esc_like($term));
$search.="{$searchand}($wpdb->posts.post_titleLIKE'{$n}{$term}{$n}')";
$searchand='AND';
}
if(!empty($search)){
$search="AND({$search})";
if(!is_user_logged_in())
$search.="AND($wpdb->posts.post_password='')";
}
return$search;
}
使用主题配置项控制,请在上面代码结束后添加如下代码
if(_hui('search_title')){
add_filter('posts_search','hui_search_by_title_only',500,2);
}
如果你不想要后台选项,可以将上面代码替换掉。
add_filter('posts_search','hui_search_by_title_only',500,2);
本文地址:https://xzo.com.cn/develop/wp/281.html

如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。

WordPress是世界级的博客程序,有过百万的模板插件支持,其外型大多十分美观,功能十分强大,可作为博客用户的首选。但如果是企业网站建设,则不建议选用WordPress:数据量是个大问题。
对于建站时间稍长的站长来说,换域名、换服务器、搬家都是必要的操作。如果使...
WordPress作为顶级博客程序,海量插件一直是为人所津津乐道的。大多数WordPre...
我知道wordpress有神奇的自定义函数,这个自定义函数基本上可以代替大部分的...
相对日期,文章或者评论发表日期以“发表于1小时前”,这种形式显示,相对日期会...
打造互联网个体品牌的用户个体越来越多,WordPress是一个相当不错的方案。但...
由于客户需要在wordpress展示会员发布的信息总量,但wordpress默认是没有这个...
wordpress数据库里写了很多与域名相关的东西,如果更换了域名,需要对域名进行...
WordPress博客程序非常好用,但他的一个缺点是不带面包屑导航。而面包屑导航...
通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...
通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...
本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...
使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...
采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...
帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...
百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...