下载鸥 > 网站下载 > 开发教程 > WordPress

WordPress只搜索标题

631 2021-01-02 01:01:48

收藏

简述

如果不想匹配文章内容中出现的关键词,我们可以通过posts_search过滤器,将搜索结果替换成我们自己的搜索逻辑即可。

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

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于WordPress


WordPress是世界级的博客程序,有过百万的模板插件支持,其外型大多十分美观,功能十分强大,可作为博客用户的首选。但如果是企业网站建设,则不建议选用WordPress:数据量是个大问题。

推荐WordPress开发教程
不懂开发,怎样用WordPress建站?
不懂开发,怎样用WordPress建站?

目前市面上的第三方建站程序很多,但使用WordPress建站无疑具备了高效、美观...

17 1203
WordPress博客程序可以转为帝国CMS吗?
WordPress博客程序可以转为帝国CMS吗?

WordPress作为顶级博客程序,海量插件一直是为人所津津乐道的。大多数WordPre...

15 1838
怎样通过宝塔面板来优化WordPress缓存加速?
怎样通过宝塔面板来优化WordPress缓存加速?

如果你的服务器环境是用的宝塔面板,那么我们就可以通过宝塔面板来优化WordPr...

12 317
wordpress怎样调用注册会员发表的文章数量?
wordpress怎样调用注册会员发表的文章数量?

由于客户需要在wordpress展示会员发布的信息总量,但wordpress默认是没有这个...

0 243
wordpress的模板配置方法
wordpress的模板配置方法

wordpress是全世界最流行的博客程序,国内用wordpress建站的站长占比也很高,当...

0 365
wordpress新手:更换域名后访问所有页面都跳转之前的域名
wordpress新手:更换域名后访问所有页面都跳转之前的域名

wordpress数据库里写了很多与域名相关的东西,如果更换了域名,需要对域名进行...

0 365
WordPress怎样获取文章第一张缩略图
WordPress怎样获取文章第一张缩略图

WordPress有缩略图字段,但如果没有录入缩略图,能否自动获取文章内的第一张图...

0 326
分享一段WordPress面包屑导航源码
分享一段WordPress面包屑导航源码

WordPress博客程序非常好用,但他的一个缺点是不带面包屑导航。而面包屑导航...

1 347
随机WordPress开发教程
Wordpres多站点设置方法
Wordpres多站点设置方法

现在Wordpress是全国甚至全世界最多人用的网站系统,利用Wordpress做站群,或建...

0 553
WordPress怎样做本地安装环境调试?
WordPress怎样做本地安装环境调试?

对于新手而言,站点在上线之前做测试环境调试可有效减少不必要的bug,规避seo方...

0 560
WordPress怎样调用评论人数?
WordPress怎样调用评论人数?

WordPress怎样调用评论人数?...

14 301
WordPress怎样还原网站数据?
WordPress怎样还原网站数据?

WordPress是非常常用的开源建站系统,蕴含了海量的插件与主题。使用WordPress...

15 307
WordPress怎样添加友情链接?
WordPress怎样添加友情链接?

网站的友情链接是网站的标准模块之一了,那么,WordPress怎样添加友情链接呢?...

16 269
怎样增强WordPress站点的安全防护提升安全性?
怎样增强WordPress站点的安全防护提升安全性?

WordPress是一个知名的开源内容管理系统(CMS),用于创建网站和个人博客。根据预...

0 222
wordpress怎样修改后台登录地址?
wordpress怎样修改后台登录地址?

wordpress的程序使用者非常多,所以基本玩博客的都知道wp-login和wp-admin登...

9 553
WordPress怎样做自定义用户头像功能?
WordPress怎样做自定义用户头像功能?

经常有用户给我反应,要求增加自定义头像功能。WordPress的头像可以通过统一g...

0 603
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入