如何基于WooCommerce商品标签显示指定文本?
解决方案:仅针对带「event」标签的商品显示免费配送提示
给你修改后的代码,替换原来的代码即可实现需求:
add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_show_free_shipping_loop', 5 ); function bbloomer_show_free_shipping_loop() { // 获取当前商品ID $product_id = get_the_ID(); // 检查商品是否带有"event"标签(这里用的是标签slug,如需用名称可调整参数) if ( has_term( 'event', 'product_tag', $product_id ) ) { echo '<p class="shop-badge">Orders over $99 ship FREE</p>'; } }
逻辑说明
这段代码在原基础上增加了标签判断:
- 先获取商店循环中当前商品的ID
- 通过
has_term()函数验证该商品是否属于「product_tag」(商品标签)分类下的「event」标签 - 只有满足条件的商品,才会输出免费配送提示文本
注意事项
如果你的标签不是用slug「event」,而是用的标签名称,比如标签名称是「活动商品」,需要修改has_term的参数:
has_term( '活动商品', 'product_tag', $product_id, 'name' )
更推荐使用标签slug,因为名称可能会修改,slug通常更稳定。
内容的提问来源于stack exchange,提问作者텐모어플러스
相关产品推荐
相关产品推荐

