代码之家  ›  专栏  ›  技术社区  ›  Kendall

在Woocommerce中显示带有链接的产品标签列表

  •  0
  • Kendall  · 技术社区  · 6 年前

    我想做与此代码相同的事情,但对于woocommerce中的产品标签:

    <?php $tags = get_tags(); ?>
    <div class="tags">
    <?php foreach ( $tags as $tag ) { ?>
        <a href="<?php echo get_tag_link( $tag->term_id ); ?> " rel="tag"><?php echo $tag->name; ?></a>
    <?php } ?>
    </div>
    

    我还没有找到做这件事的方法。

    非常感谢您的帮助。

    2 回复  |  直到 6 年前
        1
  •  2
  •   LoicTheAztec    6 年前

    Woocommerce产品标签是一种自定义分类法。

    所以你会用WordPress代替 get_terms() get_term_link() 功能如下:

    <?php $terms = get_terms(array('taxonomy' => 'product_tag', 'hide_empty' => false)); ?>
    <div class="product-tags">
    <?php foreach ( $terms as $term ) { ?>
        <a href="<?php echo get_term_link( $term->term_id, 'product_tag' ); ?> " rel="tag"><?php echo $term->name; ?></a>
    <?php } ?>
    </div>
    

    代码已测试并运行。


    注: 对于产品类别,分类法为 'product_cat' 而不是 'product_tag' –Ω

        2
  •  0
  •   user2797427    3 年前

    要获取产品标签描述,请在希望其显示的位置添加以下代码:

    <?php echo $term->description; ?>
    

    例如,我希望它显示为项目符号列表,并在每个链接的标记后显示描述。以下是我使用的:

    <?php $terms = get_terms(array('taxonomy' => 'product_tag', 'hide_empty' => false)); ?>
    <div class="product-tags">
    <ul>
    <?php foreach ( $terms as $term ) { ?>
        <li><a href="<?php echo get_term_link( $term->term_id, 'product_tag' ); ?> " rel="tag"><?php echo $term->name; ?></a>: <?php echo $term->description; ?> </li>
    <?php } ?>
    </ul></div>
    

    如果您想进一步自定义它,只需更改HTML代码和/或添加一些CSS类。