阿里云服务器

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; ?>

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

相关阅读:
  • wordpress搜索功能优化:只搜索指定分类的文章
  • WordPress调用指定分类子分类的数据和文章列表
  • WordPress无用数据清理插件:WPDBSpringClear
  • wordpress下拉菜单设置方法
  • WordPress页面添加自定义摘要功能
  • wordpress文章页调用当前分类名和链接的方法
  • wordpress特色图片地址调用方法
  • wordpress 调用分类列表 不同的列表样式
  • WordPress分别循环输出多个分类的最新文章