是否有替代wp_list_categories

时间:2012-11-27 23:51:01

标签: wordpress categories wp-list-categories

我想使用他们的层次结构显示所有类别的列表。我想在单击类别时使用jquery来操作其他对象,因此我需要删除默认添加的链接。

wp_list_categories非常好,自动添加子类别的层次结构并添加嵌套列表。我只是不想要默认添加的链接。

是否有wp_list_categories的替代品,它不会为每个类别提供指向其各自页面的链接?

当我尝试使用get_categories()时,它不尊重类别的层次结构。

使用最新的WP版本。

2 个答案:

答案 0 :(得分:1)

teh wp_list_categories()函数的输出通过过滤器传递,您可以使用该过滤器修改生成的HTML:

$output = apply_filters( 'wp_list_categories', $output, $args );

如果您想要实际修改该函数生成的HTML,可以扩展Walker_Category类,可在此处找到一个很好的解释http://scribu.net/wordpress/extending-the-category-walker.html

答案 1 :(得分:0)

Walker_Category类最终对我有用。它拥有制作自定义列表所需的所有杠杆。

但是,我只想发布我的第一次尝试,这对于一个简单的列表非常有用。它使用嵌套循环。

 <div class="tab-row">
    <?php $args = array(
        'taxonomy' => 'taxonomyName',
        'parent' => 0
    );

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

         echo '<ul class="parent-tab"><div class="parent-item">' . $category->name . '</div>';
         array_push($catid, $category->term_id);


        echo '</ul>';
    } ?>
</div>  
<div class="child-row">
    <?php 
    $countStop = count($categories);
    $i = 0;
    while ($i < $countStop) {
        echo "<ul class='child-list'>";
        $args = array(
                    'taxonomy' => 'taxonomyName',
                    'parent'   => $catid[$i]
                  );

        $categories = get_categories($args);      
             foreach($categories as $category) {
               echo '<li class="child-item">' . $category->name .'</li>';
             }
         echo "</ul>";
         $i++;  
    }

    ?>
</div>

我使用了get_categories()来消除链接,并通过仅在第一个循环中显示父节点来创建我的分类层次结构,并在嵌套循环中通过检索父ID来拉出父节点的子节点。