用于在自定义分类中列出类别的模板

时间:2014-11-17 作者:Adrian

我在这里引用了我的代码:How to display a listing template of a certain taxonomy?

我正在尝试创建一个页面模板,该模板将列出“servicecats”分类法中的所有类别,该分类法链接到自定义帖子类型“Services”。

在页面模板中,我使用了上面链接中的代码:

<?php

        $taxonomy     = \'servicecats\';
        $orderby      = \'name\'; 
        $show_count   = 0;      // 1 for yes, 0 for no
        $pad_counts   = 0;      // 1 for yes, 0 for no
        $hierarchical = 1;      // 1 for yes, 0 for no
        $title        = \'\';

        $args = array(
          \'taxonomy\'     => $taxonomy,
          \'orderby\'      => $orderby,
          \'show_count\'   => $show_count,
          \'pad_counts\'   => $pad_counts,
          \'hierarchical\' => $hierarchical,
          \'title_li\'     => $title
        );

    ?>
<?php wp_list_categories( $args ); ?>
当我查看页面时,它只会说“没有类别”,虽然我已经设置了4个类别,但分类法和帖子类型都是分层的。

有什么建议吗?谢谢

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

我设法使用以下方法对其进行排序:

<?php $category_ids = get_all_category_ids(); ?>
      <?php
      $args = array(
         \'orderby\' => \'slug\',
         \'parent\' => 0,
        \'taxonomy\' => \'servicecats\'
      );
      $categories = get_categories( $args );
      foreach ( $categories as $category ) {
         echo \'<li><img src=""/><a href="\' . get_category_link( $category->term_id ) . \'" rel="bookmark">\' . $category->name . \'\' . \'\' . $category->description . \'</a></li>\';
      }
     ?>
还想知道如何显示空类别,但是否有人可以就此提供建议?

SO网友:kaiser

仅使用\'hide_empty\' 并将其设置为false 照现在的样子true 根据默认值。

wp_list_categories( array(
    \'hide_empty\' => false,
) );

SO网友:Pieter Goosen

所讨论的代码有效,我只能想到它失败的两个原因

提供的分类名称错误

分配给分类法的术语为空

我建议你wp_list_categories() 因为它比get_categories()

要获取空术语,只需添加hide_empty 参数,并将其设置为0

结束

相关推荐