菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

在WordPress中仅搜索标题

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:wordpress教程 小刀娱乐网

WordPress是一个流行的开源内容管理系统,它允许用户创建和管理网站。在WordPress中,搜索功能可以帮助用户快速找到他们需要的内容。默认情况下,WordPress只搜索标题,这意味着只有文章的标题会被搜索到。如果您想要搜索整个文章内容,您需要在搜索框中输入关键词并按下回车键。此外,您还可以使用高级搜索功能来自定义您的搜索结果。例如,您可以选择搜索特定类别、标签或作者的文章。总之,WordPress提供了多种搜索选项,以满足不同用户的需求。

WordPress默认的搜索功能会将文章中出现的词也一起匹配,这样虽然搜索很全面,但是却会得到很多不正确的结果,增加获得信息的难度。如果不想匹配文章内容中出现的关键词,我们可以通过posts_search过滤器,将搜索结果替换成我们自己的搜索逻辑即可。以下代码剥离至DUX,使用DMD主题的朋友可以按照下面的教程直接复制使用,或者等我更新主题。

操作步骤

下面的教程与我更新主题后的操作是一样的,所以有新增配置项的操作,如果你不需要,可以直接进入最后一步。

新增配置项

在主题设置配置文件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);


相关文章

    无相关信息
评论
建站知识
建站知识
使用技巧
调试安装
运营推广