WordPress首页排除特定分类文章的显示

首页如果不是选择了静态首页或者其中一篇文章作为首页,WodPress首页显示的都是最新一篇文章,有些文章不想要在首页显示,那么我们要怎么做呢,其实很简单,在主题更目录下的functions.php文件中中加入如下代码即可实现排除某个分类文章。

WordPress首页排除特定分类文章代码

//WordPress 首页排除指定分类文章的显示
function exclude_category_home( $query ) {
   if ( $query->is_home ){//判断是否为首页
        $query->set( 'cat', '-1,-2' );  //排除的指定分类id
    }
    return $query;
}

add_filter( 'pre_get_posts', 'exclude_category_home' );

其中的“1,2”即为分类目录的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 的文章或页面
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在后台分类目录下或者页面下,或者所有文章下,鼠标放在分类目录,页面或者文章标题上在屏幕左下角可以找到“tag_ID=1”即为你需要的ID。修改完成后保存此文件,刷新查看效果。

发表评论