我想使用他们的层次结构显示所有类别的列表。我想在单击类别时使用jquery来操作其他对象,因此我需要删除默认添加的链接。
wp_list_categories非常好,自动添加子类别的层次结构并添加嵌套列表。我只是不想要默认添加的链接。
是否有wp_list_categories的替代品,它不会为每个类别提供指向其各自页面的链接?
当我尝试使用get_categories()时,它不尊重类别的层次结构。
使用最新的WP版本。
答案 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来拉出父节点的子节点。