百影阁
在乱世中寻求安身之所!

WordPress搜索不显示特定的页面、文章和分类

大家都知道WordPress自带的搜索功能很简单,有啥搜啥,没有什么分类排除的功能,这里我们有些文章不想让用户搜索到也没办法,只要用户搜索了,就会出现,那么有没有什么方法可以让用户使用WordPress的搜索功能的时候不显示某些指定的页面,文章或者分类呢?

这里分享一串function代码,让你的WordPress搜索不显示特定的文章、页面和分类。

搜索不显示特定的页面、文章和分类

将下面的代码添加到主题的 functions.php 文件即可,这里分开了几种,大家自己看着需要来添加:

排除特定 ID 的文章或页面

//搜索结果排除特定 ID 的文章或页面
function Bing_search_filter_id($query) {
 if ( !$query->is_admin && $query->is_search) {
 $query->set('post__not_in', array(40,819));//文章或者页面的ID
 }
 return $query;
}
add_filter('pre_get_posts','Bing_search_filter_id');

注意修改第四行的文章或页面 ID,用英文逗号隔开即可。

排除某些分类的文章

//搜索结果排除某些分类的文章
function Bing_search_filter_category( $query) {
 if ( !$query->is_admin && $query->is_search) {
 $query->set('cat','-15,-57'); //分类的ID,前面加负号表示排除;如果直接写ID,则表示只在该ID中搜索
 }
 return $query;
}
add_filter('pre_get_posts','Bing_search_filter_category');

注意修改注释中的ID。

排除所有页面

//搜索结果排除所有页面
function search_filter_page($query) {
 if ($query->is_search) {
 $query->set('post_type', 'post');
 }
 return $query;
}
add_filter('pre_get_posts','search_filter_page');

这里直接排除了所有页面,功能实用。

如何查看页面ID和文章ID

这里可能是一些新手用户不知道的问题,那就是如何查看这些ID呢?

查看分类目录ID:我们打开分类目录,鼠标放到对于的超链接,下面就会显示ID了

如何查看文章ID:同理,鼠标放到文章题目就可以在下面看见ID了

赞(0) 打赏
未经允许不得转载:百影阁 » WordPress搜索不显示特定的页面、文章和分类

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

百影阁 巨人影子下的探索之旅

联系百影阁阁主进群讨论

觉得文章有用就打赏一下文章作者

微信扫一扫打赏