php 在Woocommerce中显示当前子类别的子子类别

c3frrgcw  于 2022-12-10  发布在  PHP
关注(0)|答案(1)|浏览(224)

我试图在Woocommerce中显示当前子类别下的子子类别,如this Website
我有2个父母类别“产品”和“部门”。然后我有一个菜单链接,去这两个。
当我在“产品”我想看到的图片的子类别,标题的类别,然后所有的子子类别的标题和链接到他们。
例如,父类别是“产品”,子类别是“建筑”,而“密封剂和粘合剂”、“防水”、“聚氨酯泡沫...”是子类别。
密封剂和胶粘剂是子类别,醋酸硅密封剂、中性硅密封剂、丙烯酸密封剂......是子子类别......
下面是一个截图,可以更好地解释它:

mw3dktmi

mw3dktmi1#

这里要使用的代码与您之前的问题线索非常相似。但是我们使用了一个特定的操作挂钩,并进行了一些更改,以获得子类别的子子类别:

// Displaying the sub-subcategories of the current subategories
add_action('woocommerce_after_subcategory', 'display_subsubcategories_list', 20, 1 );
function display_subsubcategories_list( $category ) {
    $taxonomy = 'product_cat';

    // Get sub-subcategories of the current subcategory
    $terms    = get_terms([
        'taxonomy'    => $taxonomy,
        'hide_empty'  => true,
        'parent'      => $category->term_id
    ]);

    if( count($terms) > 0 ) :

    echo '<ul class="subcategories-list" style="list-style: none; border: solid 1px #ddd; border-bottom: none;">';

    // Loop through product sub-subcategories WP_Term Objects
    foreach ( $terms as $term ) {
        $term_link = get_term_link( $term, $taxonomy );

        echo '<li class="'. $term->slug .'" style="border-bottom: solid 1px #ddd;"><a href="'. $term_link .'">'. $term->name .'</a></li>';
    }

    echo '</ul>';

    endif;
}

代码在你的活动子主题(或活动主题)的functions.php文件中。

注意:woocommerce_after_subcategory操作挂钩位于content-product_cat.php模板文件上,它处理要显示为产品的子类别 (带有图像和链接的术语名称)。

为此,您的主要类别需要有选项“显示类型”设置为“子类别”。

相关问题