doubianxian6557 2018-12-14 18:15
浏览 28

在Wordpress中打印嵌套的自定义术语

I made a custom term 'product_categorie'. There could unlimited parent with childs terms.

Example:

- Parent 1
    - child 1
    - child 2
    - child 3
- Parent 2
    - child 2.1
    - child 2.2

I want to achieve this HTML:

    <ul class="filter">
        <li class="parent">
            <strong class="parent__item">Parent 1</strong>
            <ul class="childs">
                <li class="child" data-filter="child-1"><a href="#">Child 1</a></li>
                <li class="child" data-filter="child-2"><a href="#">Child 2</a></li>
            </ul>
        </li>
        <li class="parent">
            <strong class="parent__item">Parent 2</strong>
            <ul class="childs">
                <li class="child" data-filter="child-21"><a href="#">Child 2.1</a></li>
                <li class="child" data-filter="child-22"><a href="#">Child 2.2</a></li>
            </ul>
        </li>
    </ul>

I have this code right now, but this breaks div next div:

            <?php
               $args = array('hide_empty' => false, 'orderby' => 'term_group', 'parent' => false);

                $terms = get_terms('product_categorie', $args);

                $hierarchy = _get_term_hierarchy('product_categorie');
                echo '<ul class="filter">';
                foreach ($terms as $term) {
                    echo '<li class="parent"><strong class="parent__item">'.$term->name.'</strong>';
                    if (array_key_exists($term->term_id, $hierarchy)) {
                    echo '<ul class="childs">';
                    foreach ($hierarchy[$term->term_id] as $v) {
                        $child = get_term($v);

                        echo '<li class="child" data-filter="'.$child->slug.'"><a href="'. get_term_link($child) .'">'.$child->name.'</a></li>';
                    }
                    echo '</ul>';
                    }
                    echo '</li>';
                }
                echo '</ul>';
            ?>

After some extra testing, it seems that get_term_link($child) causes the issue. When I delete that piece of code all the rest seems to work.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?