设置WordPress搜索结果界面排除指定的页面和文章ID

麦子 优化维护3字数 816阅读2分43秒阅读模式

鉴于有些我们需要隐藏某些目录和指定的文章被搜索结果展现出来,需要排除搜索展示。比如我们做企业网站的时候,全站搜索的时候对于企业简介、联系方式、新闻等内容不希望被产品搜索结果展现,这里我们就要用排除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;
}
投上你的一票
 
  • 本文由 麦子 发表于 2024年12月10日 06:27:19
  • 转载请务必保留本文链接:https://www.zhujipingjia.com/wpfilter-cat.html
  • 排除指定ID