我在一个销售葡萄酒的 woocommerce 网站上工作。我想为特定产品变体设置多次购买价值。
每个产品都有“bottle”属性(=>pa_bottle)和3个术语:1liter,2liters,3liters。
我希望当属性为“1 升”的项目总数是 3 的倍数时,购物车被视为有效。
例如这个购物车是有效的:
我找到了一个非常适合类别的脚本。我想要一个适用于该属性的类似脚本。
这是原剧本:
add_action( 'woocommerce_check_cart_items', 'woocommerce_check_cart_quantities' );
function woocommerce_check_cart_quantities() {
$multiples = 3;
$total_products = 0;
$category_ids = array( 74 );
$found = false;
foreach ( WC()->cart->get_cart() as $cart_item ) {
if ( has_product_category( $cart_item['product_id'], $category_ids ) ) {
$total_products += $cart_item['quantity'];
$found = true;
}
}
if ( ( $total_products % $multiples ) > 0 && $found )
wc_add_notice( sprintf( __('You need to buy in quantities of %s products', 'woocommerce'), $multiples ), 'error' );
}
这里我尝试替换脚本
if ( has_product_category( $cart_item['product_id'], $category_ids ) ) {
与剧本
if ( has_term( '1liter', 'pa_bottle', $cart_item['product_id'] ) ) {
但它不起作用,因为它在购物车中的所有产品上设置了倍数,而我希望它只在具有 1 升属性的产品上设置它。
谢谢你的帮助。