【问题标题】:woocommerce order quantity multipleswoocommerce 订单数量倍数
【发布时间】:2015-03-12 20:15:55
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: javascript php woocommerce e-commerce


    【解决方案1】:

    使用$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...
    }
    

    这个想法加上你目前所拥有的将实现你想要的。

    【讨论】:

    • 如果它有多个类别会怎样?
    • 你必须做一个循环来检查每一个......这会有很长的代码,这就是我刚刚给你这个想法的原因......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 2013-10-16
    • 1970-01-01
    • 2017-10-18
    • 2015-08-10
    相关资源
    最近更新 更多