wordpress一级分类(父分类)不显示二级分类(子分类)的文章

2018-11-02    来源:学做网站论坛

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

在做网站时,需要对网站的文章进行分类,由于某些分类需要更细的分类,我们会给一些分类添加二级分类,三级分类。

默认情况下,一级分类是自动的调用显示子分类的文章的,也就是说只要子分类中添加了文章,那么父分类也会把这些文章显示出来。

wordpress一级分类(父分类)不显示二级分类(子分类)的文章

如何让一级分类(父分类)不调用二级分类(子分类)的文章,只显示它自己类别下的文章呢?

一般在我们制作wordpress分类目录模板(archive.php)时都会使用下面的循环代码:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<?php endwhile;?>
<?php endif; ?>

这段循环代码可以把我们网站中分类下面的文章全部调用出来,但如果要实现一级分类(父分类)不调用二级分类(子分类)的文章就需要对这段代码进行一个判断,需要将上面的代码替换成下面的代码:

<?php
/*学做网站论坛https://www.xuewangzhan.com/提供代码
如果没有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; ?>

通过以上的判断语句,就可以实现一级分类就显示自己类别下的文章,而不去调用子分类下的文章了。这个代码可以帮助我们建网站时实现很多效果。

更新:使用子分类,我们可以制作出wordpress二级菜单。

标签: 代码 建网站

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:wordpress网站导航不显示分类目录

下一篇:wordpress文章调用顶级父级目录名称