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);


声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:WordPress只搜索标题发布于2022-05-19 07:43:30

相关推荐