Woocommerce:如果商品具有特定的商品标签,则在购物车页面的商品中添加不同的徽章

时间:2019-09-07 01:10:13

标签: php hook-woocommerce

我已经在产品图片中添加了徽章,以显示重要信息。如果产品具有特定标签,它将显示该特定徽章。我可以在商店页面和单个产品页面上使用它,但是在购物车页面上遇到了麻烦。我可以在购物车中的所有物品上装载一个徽章,但似乎无法有条件地装载其他徽章。

这些是我用于商店页面和单个产品页面的条件语句:

global $product;
if ( $product->is_on_sale() ) {
echo '<span class="product-badge">SALE</span>';
}elseif ( has_term( 'reversible', 'product_tag' ) ) {      
echo '<span class="product-badge">REVERSIBLE</span>';
} elseif ( has_term( 'hard-sole', 'product_tag' ) ) {
echo '<span class="product-badge">HARD SOLE</span>';
} elseif ( has_term( 'soft-sole', 'product_tag' ) ) {
echo '<span class="product-badge">SOFT SOLE</span>';
}

这是我到目前为止用于购物车页面的代码:

add_filter( 'woocommerce_cart_item_thumbnail', 'cart_badge' );

function cart_badge( $thumbnail ) {
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( has_term( 'reversible', 'product_tag', $cart_item['product_id'] ) ) 
{
printf( '<a href="%s">%s<span class="cart-badge">REVERSIBLE</span></a>', 
esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
}
}
}

如何在我的当前代码中添加条件语句以在特定产品缩略图上显示特定产品徽章,或者如果条件为假,则回显$ thumbnail?

0 个答案:

没有答案