首页 > 解决方案 > 获取子类别的子类别

问题描述

我在模板中有自己的菜单结构。下面的代码工作正常。在这里,我得到父类别和该父类别的所有子类别。问题是现在我需要输出另一层嵌套。

<?php
$taxonomies = get_terms(array(
    'taxonomy' => 'product_cat',
    'hide_empty' => true
));

if (!empty($taxonomies)) :
    foreach ($taxonomies as $category) {
        if ($category->parent == 0) {
            $output .= '<div class="menu_item">';
            if ($category->parent == 0 && get_term_children($category->term_id, 'product_cat')) {
                if ($category->parent == 0) {
                    $output .= '<div class="parent_item"><a href="' . get_term_link($category) . '">' . $category->name . '</a></div>';
                }
                $output .= '<div class="sub_menu">';
                foreach ($taxonomies as $subcategory) {
                    if ($subcategory->parent == $category->term_id) {
                        $output .= '<div class="sub_item"><a href="' . get_term_link($subcategory) . '">' . $subcategory->name . '</a></div>';
                    }
                }
                $output .= '</div>';
            }
            $output .= '</div>';
        }
    }
    echo $output;
endif;
?>

这就是我崩溃的地方)。我不知道如何获得另一层嵌套)。我得到以下结果:

<div class="menu_item">

    <div class="parent_item">
        <a href="#">Parent Menu Item</a>
    </div>

    <div class="sub_menu">
        <div class="sub_item">
            <a href="#">Sub Menu Item</a>
        </div>
        
        <div class="sub_item">
            <a href="#">Sub Menu Item</a>
        </div>
    </div>

</div>

并且需要以这样的方式结束:

<div class="menu_item">

    <div class="parent_item">
        <a href="#">Parent Menu Item</a>
    </div>

    <div class="sub_menu">
        <div class="sub_item">
            <a href="#">Sub Menu Item</a>

            <div class="2sub_item">
                <a href="#">2 Sub Menu Item</a>
                <a href="#">2 Sub Menu Item</a>
                <a href="#">2 Sub Menu Item</a>
            </div>

        </div>

        <div class="sub_item">
            <a href="#">Sub Menu Item</a>

            <div class="2sub_item">
                <a href="#">2 Sub Menu Item</a>
                <a href="#">2 Sub Menu Item</a>
                <a href="#">2 Sub Menu Item</a>
            </div>

        </div>
    </div>

</div>

标签: phpwordpressmenutaxonomy

解决方案


推荐阅读