You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WooCommerce中实现类似文章标签的带链接产品标签列表?

WooCommerce 带链接的产品标签列表实现方案

嘿,这事儿其实很简单,你只需要把原来针对文章标签的代码,换成WooCommerce专属的产品标签分类法就行!下面是直接可用的代码:

<?php
// 获取所有WooCommerce产品标签,排除空标签
$product_tags = get_terms( array(
    'taxonomy' => 'product_tag',
    'hide_empty' => true, // 可选:设为false会显示没有关联产品的标签
) );

if ( ! empty( $product_tags ) && ! is_wp_error( $product_tags ) ) : ?>
    <div class="product-tags">
        <?php foreach ( $product_tags as $tag ) : ?>
            <a href="<?php echo esc_url( get_term_link( $tag ) ); ?>" rel="tag">
                <?php echo esc_html( $tag->name ); ?>
            </a>
            <?php // 可选:添加标签之间的分隔符,比如逗号
            // if ( next( $product_tags ) ) echo ', '; ?>
        <?php endforeach; ?>
    </div>
<?php endif; ?>

关键细节解释:

  • get_terms() 替代 get_tags():WooCommerce的产品标签是一个名为 product_tag 的自定义分类法,get_tags() 只针对默认的文章标签,所以我们用 get_terms() 并指定 taxonomy 参数来获取产品标签。
  • get_term_link() 替代 get_tag_link():get_tag_link() 是专门给文章标签用的,通用的分类法链接获取要用 get_term_link(),它能自动识别产品标签的正确URL。
  • 安全处理:用 esc_url() 和 esc_html() 分别处理链接和标签名称,避免XSS安全问题,这是WordPress开发的最佳实践哦。
  • 空标签判断:通过 ! empty( $product_tags ) && ! is_wp_error( $product_tags ) 来处理没有标签或者获取失败的情况,避免页面报错。

你可以根据自己的需求调整参数:比如把 hide_empty 改成 false 显示所有标签,或者添加 orderby 和 order 参数来控制标签的排序(比如 'orderby' => 'name', 'order' => 'ASC')。

内容的提问来源于stack exchange,提问作者Kendall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:41:56