我有一个被指定为类别的产品页面。php。现在,我想在类别页面上将子类别显示为子菜单。但即使在搜索了很多之后,我仍然无法显示所有子类别。我发现一个代码是:
<?php
if (is_category()) {
$this_category = get_category($cat);
}
?>
<?php
if($this_category->category_parent)
$this_category = wp_list_categories(\'orderby=id
&title_li=&use_desc_for_title=1&child_of=\'.$this_category->category_parent.
"&echo=0"); else
$this_category = wp_list_categories(\'orderby=id&depth=1
&title_li=&use_desc_for_title=1&child_of=\'.$this_category->cat_ID.
"&echo=0");
if ($this_category) { ?>
<ul>
<?php echo $this_category; ?>
</ul>
<?php } ?>
但它所做的是,它没有显示包含0个帖子的子类别。此外,它也没有显示类别没有任何子类别的类别,并且在每个列表之前都有一个项目符号,这是我根本不想要的。所以请帮忙。
SO网友:Dexter0015
您可以使用get_categories &;wp_list_categories 使用特定参数(直接在您的category.php中使用):
// List sub cats
$params = array(
\'parent\' => get_queried_object_id(), //id of current category displayed
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'hide_empty\' => false // do not hide sub cats without posts
);
if ( count( get_categories( $params ) ) ) {
wp_list_categories( $params );
}
可以找到参数的完整列表
here您还可以通过用户自定义输出您自己的Walker扩展WPWalker_Category 班