如何排除上级类别的下级类别

时间:2019-05-13 作者:user10980228

我只想列出某些类别,并排除特定的父级及其所有子级。原因是,如果添加了新的子类别,它在默认情况下不会显示。使用wp\\u list\\u categories,您还可以获得一个活动类,但使用get\\u categories,您无法获得。如果可能的话,我也想从中获得一个活动类。

我试过这个:

$categories = get_categories(array(
    \'exclude\' => array(40)
));
但它仍然显示ID为40的类别的子级。

下面的代码隐藏了所有的子项,但尝试设置样式是一件痛苦的事情,而如果我使用get\\u类别运行自己的循环,则可以更轻松地设置输出样式。

<?php wp_list_categories( array(
    \'orderby\'    => \'name\',
    \'show_count\' => false,
    \'exclude\'    => array( 40 )
) ); ?> 

1 个回复
最合适的回答,由SO网友:nmr 整理而成

$categories = get_categories( array(
    \'exclude_tree\' => array(40)
));
在两者中get_categories()wp_list_categories() 您可以使用exclude_tree 参数而不是exclude.

  • exclude_tree
    (array | string)要排除的术语ID的数组或逗号/空格分隔字符串及其所有后代术语。如果$include非空,则忽略$exclude\\u树
    默认空数组

相关推荐

Dropdown menu for categories

当我使用下面的代码时<?php wp_nav_menu( array(\'menu\' => \'categories\' )); ?> 我可以创建一个新的菜单来列出我创建的wordpress中的所有类别。我用它在页面中间列出所有类别。我现在的问题是:有没有一种简单的方法可以为存在的每个子类别创建下拉菜单?那么,当我点击一个特定的类别时,它的子类别会显示出来吗?