由于似乎没有一个足够且仍在积极开发的 WordPress 插件,它允许我显示可折叠的类别树而无需使用小部件(我个人不喜欢小部件),我决定自己编写一个。
我写了这段代码:
<script type="text/javascript">
function toggleCatDiv(id) {
if (jQuery("#catTogglerDiv-"+id).is(":visible")) {
jQuery("#catToggler-"+id).innerHTML="►";
}
else {
jQuery("#catToggler-"+id).innerHTML="▼";
}
jQuery("#catTogglerDIV-"+id).slideToggle("normal");
}
</script>
<?php
$args = array('orderby' => 'name', 'parent' => 0 );
$categories = get_categories( $args );
foreach ( $categories as $category ) {
?>
<span style="cursor:pointer" id="catToggler-<?php echo $category->cat_ID; ?>" onclick="toggleCatDiv('<?php echo $category->cat_ID; ?>')">►</span> <a href="<?php echo get_category_link( $category->term_id ); ?>"><?php echo $category->name;?></a><br />
<div id="catTogglerDIV-<?php echo $category->cat_ID; ?>" style="margin-left:3em;visibility:hidden">
<?php
$args = array(
'child_of' => $category->cat_ID
);
$subcats = get_categories($args);
foreach ( $subcats as $subcat ) {
<a href="<?php echo get_category_link( $subcat->term_id ); ?>"><?php echo $subcat->name;?></a>
}
?>
</div>
<?php
}
?>
如您所见,它旨在获取“主要类别”列表并在单击每个子类别上的箭头时显示子类别列表。
现在单击箭头没有任何作用(甚至没有 JS 错误),实际上只显示了 4 个主要类别中的 2 个。为什么?