设置WordPress一级分类不显示二级分类文章的方法
WordPress默认的一级分类会把二级分类的文章都调用出来,有时候我们并不需要把二级分类的文章显示在首页。
我们可以用下面的方法来解决这个问题。
默认的分类模板输出文章的代码如下:
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php endwhile;?> <?php endif; ?>
这段代码会输出分类下所有的文章,但如果要实现一级分类(父分类)不调用二级分类(子分类)的文章就需要对这段代码进行一个判断,需要将上面的代码替换成下面的代码:
<?php //如果没有category模版,而是使用archive模版,需要加上判断 if (is_category()) { //得到分类标题但不echo $cat_title = single_cat_title("", false); //把标题转成ID $cat_ID = get_cat_ID($cat_title); //获取子分类ID $subcategories = get_categories(array('type' => 'post', 'child_of' => $cat_ID)); //循环拼成字符串,子分类前面加上"-"负号 foreach ($subcategories as $i => $value) { $excluded_cats .= ",-".$value->cat_ID; } //排除子分类ID if (!empty($excluded_cats)) { $MainLoopArgs = array('cat' => $cat_ID . $excluded_cats); } else { $MainLoopArgs = array('cat' => $cat_ID); } query_posts( $MainLoopArgs ); } ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php endwhile;?> <?php endif; ?>
通过以上的判断语句,就可以实现一级分类就显示自己类别下的文章,而不去调用子分类下的文章了。这个代码可以帮助我们建网站时实现很多效果。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END