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

鉴于有些我们需要隐藏某些目录和指定的文章被搜索结果展现出来,需要排除搜索展示。比如我们做企业网站的时候,全站搜索的时候对于企业简介、联系方式、新闻等内容不希望被产品搜索结果展现,这里我们就要用排除ID。

设置WordPress搜索结果界面排除指定的页面和文章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;
    }
投票 post
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享