我需要在存档页面上为产品显示“新”徽章,但仅针对“新”类别中的产品
add_action( 'woocommerce_after_shop_loop_item_title', 'lottie_new_badge', 40 );
function lottie_new_badge($badge) {
global $product;
if (has_term ('new')) {
echo '<p>New</p>';
}
return $badge;
}
得到了这个代码但没有用,将几部分代码混合在一起尝试使其正常工作,但是没有运气。
答案 0 :(得分:0)
在Woocommerce产品类别中使用has_term()
函数时缺少参数。同样,在使用动作挂钩时,不需要$badge
,也不必像在过滤器挂钩中那样返回add_action( 'woocommerce_after_shop_loop_item_title', 'display_lottie_new_badge', 40 );
function display_lottie_new_badge() {
global $product;
if ( has_term ( array('new'), 'product_cat', $product->get_id() ) ) {
echo '<p class="new">New</p>';
}
}
。因此,请尝试以下操作:
json_encode
代码进入您的活动子主题(或活动主题)的function.php文件中。应该可以。