0

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

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

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

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

使用最新的 WP 版本。

4

2 回答 2

1

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

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

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

于 2012-11-28T00:06:37.960 回答
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 拉出该父级的子级。

于 2012-11-28T20:38:24.650 回答