检测到您启用了Adblock等屏蔽广告扩展,导致正常的内容图片无法显示,为了不影响阅读体验,建议您将www.xiaoz.me加入白名单。

让WordPress首页不显示指定分类目录下的文章

某些网站的分类文章可能不想直接显示在首页,那么我们可以设定指定目录的文章不显示在首页,提供下面两种种办法:

方法一:找到主题目录下的index.php文件(某些主题可能是loop.php),搜索have_posts()这个函数,找到<?php if ( have_posts() ) : ?>这句代码,在前面加上如下代码:

1
2
3
4
5
6
7
8
9
10
<!--让首页不显示某个分类目录下的文章-->
<?php 
	$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
	$args = array(
	// 不想显示的分类ID,多个用半角逗号隔开。
	'category__not_in' => array(76),//这里的含义是不显示ID为76的分类目录文章
	'paged' => $paged
	);
	query_posts($args);
?>

方法二:某些主题可能用上面的方法添加后出现各种错误,比如小z就遇到了所有分类目录全部显示同样的文章或无法进行分页等情况,后来通过网友多梦的帮助解决了此问题。在主题目录下的functions.php中添加下面的代码:

1
2
3
4
5
6
7
//首页排除ID为985的分类
function ex_cat_on_homepage( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'cat', -985 );
    }
}
add_action( 'pre_get_posts', 'ex_cat_on_homepage' );

分类目录的ID一定要填写正确,否则没有任何效果,获取ID的方法是:后台>>文章>>分类目录,然后将鼠标移动到想要获取的目录上,比如将鼠标移动到WP技巧,然后在浏览器的左下侧就会看到WP技巧ID为:299。如下图:

fenleiid

wordpress分类目录ID

One Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注