我正在尝试根据类别获得最小订单数量。我找到了这个代码,但我认为它是为购物车中的所有产品设置的。还有什么可以添加到列表特定类别?
我的目标是让客户从4个类别购买蜡烛。它们可以从每个类别中混合,但必须是12的倍数。
// check that cart items quantities totals are in multiples of 5
add_action( 'woocommerce_check_cart_items', 'woocommerce_check_cart_quantities' );
function woocommerce_check_cart_quantities() {
global $woocommerce;
$multiples = 5;
$total_products = 0;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$total_products += $values['quantity'];
}
if ( ( $total_products % $multiples ) > 0 )
$woocommerce->add_error( sprintf( __('You need to buy in quantities of %s products', 'woocommerce'), $multiples ) );
}
也不确定这是否与最新版本的WC兼容。
谢谢
答案 0 :(得分:0)
使用$values['data']
您可以获得如下产品:
$product = $values['data'];
然后使用$product
我们可以检查它的类别:
$terms = wp_get_post_terms( $product->id, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
if ( in_array( 'audio', $categories ) ) {
// this product is in audio category...
}
这个想法与你现在拥有的一切将达到你想要的目标。