在WooCommerce上,我使用的是存档产品。php模板页面。我想显示所显示类别中的子类别列表。
因此,随着用户更改类别,子类别列表将更改为匹配。
我可以获得特定父类别的子类别,但我无法获得类似的内容if($cat->category_parent == $this)
我用于获取父Id=9列出的子类别的代码
<?php
$args = array(
\'taxonomy\' => \'product_cat\',
\'orderby\' => \'name\'
);
$all_categories = get_categories( $args );
foreach ($all_categories as $cat) {
if($cat->category_parent == 9) {
$category_id = $cat->term_id;
echo \'<a href="\'. get_term_link($cat->slug, \'product_cat\') .\'">\'. $cat->name .\'</a>\';
}
}
?>
但如何使其动态化,以便每个类别都显示其自己的子类别?
最合适的回答,由SO网友:Pieter Goosen 整理而成
你可以利用get_term_children()
而不是get_categories()
你可以试试这样的
$term = get_queried_object();
$term_id = $term->term_id;
$taxonomy_name = $term->taxonomy;
$termchildren = get_term_children( $term_id, $taxonomy_name );
echo \'<ul>\';
foreach ( $termchildren as $child ) {
$term = get_term_by( \'id\', $child, $taxonomy_name );
echo \'<li><a href="\' . get_term_link( $term, $taxonomy_name ) . \'">\' . $term->name . \'</a></li>\';
}
echo \'</ul>\';