用 get_categories 复制 wp_list_categories

Replicate wp_list_categories with get_categories

提前致谢。

我到处寻找解决方案,但就是找不到,它肯定比我想象的要简单?基本上我需要复制 wp_list_categories 的输出并更改 <a href=""> 以在子类别上包含数据过滤器。对于父类别,我可以毫无问题地执行此操作,但是我似乎也无法输出子类别。

有没有什么办法甚至可以将数据过滤器添加到输出 <a href=""> 而不是复制整个输出?

到目前为止,这是我的代码,它只输出父类别。

<ul id="ondemandNav">
                    <?php $args = array(
                        'taxonomy' => 'categoriestest',
                        'parent' => 0,
                        'hide_empty' => 0
                    );

                    $categories = get_categories($args);
                    $catid = array();
                     foreach($categories as $category)  {

                         echo '<li class="parent-item"><a href="">' . $category->name . '</a> .';

                         echo '</li>';
                         array_push($catid, $category->term_id);

                    } ?>
                </ul>

有没有简单的方法来做到这一点?

看来您需要第二个循环来获取 children 和 grandchildren。我实际上并没有尝试过这段代码,但它看起来应该根据 get_categories() Codex 页面工作。

http://codex.wordpress.org/Function_Reference/get_categories

<ul id="ondemandNav">
<?php $args = array('taxonomy'   => 'categoriestest',
                    'parent'     => 0,
                    'hide_empty' => 0 );

$categories = get_categories($args);
$catid = array();

foreach($categories as $category)  {
    $child_args = array('child_of'=> $category->term_id); 
    $child_categories = get_categories($args);
    echo '<li class="parent-item"><a href="">' . $category->name . '</a> .</li>';

    foreach ($child_categories as $child_category) {
        echo '<li class="parent-item"><a href="">' . $child_category->name . '</a> .</li>';

    }
}
?>
</ul>

因为它说它获取 children and grandchildren,我猜你不需要递归方法来一直向下钻取到底部。

HTH,

=C=