How to list child categories?

时间:2016-09-04 作者:jrcollins

我想使用支持PHP的文本小部件在分类页面的侧栏中动态显示子分类。

问题是小部件需要在父类别和子类别页面上显示相同的内容。

因此,在父类别页面上,它将显示该类别的子类别,在子类别页面上,显示该类别父类别的所有子类别。

理想情况下,在子类别页面上,它将显示该类别父类别的所有子类别,但当前(子)类别除外。

这是我用来获取当前类别父类别的子类别的代码:

<?php if (is_category( )) {
  $cat = get_query_var(\'cat\');
  $parent = get_category ($cat);
  if ($parent->parent) {
    wp_list_categories (\'child_of=\' . $parent->parent);
}
?>
我想我需要改变wp_list_categories 字符串到数组中,这样我就可以使用“exclude”参数,这样就不会显示当前的子类别。然后,我可以为父类别添加一个“else”条件语句。

1 个回复
SO网友:jrcollins

经过反复试验,我终于得出以下结论:

<?php if (is_category( )) {

  $cat = get_query_var(\'cat\');
  $thiscat = get_category ($cat);
  $parent = $thiscat->parent;

  if ($parent != \'\') {

wp_list_categories( array(
        \'child_of\' => $parent,
        \'exclude\' => $cat
    ) );
    }

  else {

wp_list_categories( array(
        \'child_of\' => $cat
    ) );
    }

} ?>
我不确定这是否是最有效的方法,但它确实有效。