鉴于有些我们需要隐藏某些目录和指定的文章被搜索结果展现出来,需要排除搜索展示。比如我们做企业网站的时候,全站搜索的时候对于企业简介、联系方式、新闻等内容不希望被产品搜索结果展现,这里我们就要用排除ID。
这里我们需要用脚本实现,没必要找插件了。修改并将以下代码判断添加到你当前 WordPress 主题中的 functions.php 文件中。
1、排除指定文章和页面
//排除指定文章和页面 add_filter('pre_get_posts','wp_search_filter_page'); function wp_search_filter_page($query){ if($query->is_search&&!$query->is_admin){ $query->set('post__not_in',array(1,101));//1 和 101 为指定的文章 ID 或页面 ID } return$query; }
2、排除指定文章分类
//排除指定文章分类 add_filter('pre_get_posts','wp_search_filter_cat'); function wp_search_filter_cat($query){ if($query->is_search&&!$query->is_admin){ $query->set('cat',array(10,20));//10 和 20 为指定分类 ID } return$query; }
3、排除所有页面,只显示文章类型
//排除所有页面,只显示文章类型 add_filter('pre_get_posts','wp_search_filter_post'); function wp_search_filter_post($query){ if($query->is_search&&!$query->is_admin){ $query->set('post_type','post'); } return$query; }
评论