woocommerce订单数量倍数

时间:2015-03-12 20:15:55

标签: javascript php woocommerce e-commerce

我正在尝试根据类别获得最小订单数量。我找到了这个代码,但我认为它是为购物车中的所有产品设置的。还有什么可以添加到列表特定类别?

我的目标是让客户从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兼容。

谢谢

1 个答案:

答案 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...
}

这个想法与你现在拥有的一切将达到你想要的目标。