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