WooCommerce - 启用此功能,以便在一个订单中只允许购买此商品中的一个。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WooCommerce - 启用此功能,以便在一个订单中只允许购买此商品中的一个。相关的知识,希望对你有一定的参考价值。

我试着为商店里的几件商品启用这个选项,但它没有工作。

在库存标签下的选项 - 启用此选项,只允许在一个订单中购买此商品中的一件。

enter image description here

我仍然可以在购物车中添加其他项目。

答案

PS.销售的个人意味着,多个数量的该项目在单个订单中购买,我仍然能够..: 单独出售意味着该产品的多个数量不能在一个订单中购买。其他产品可以和它一起购买。

add_filter( 'woocommerce_add_to_cart_validation', 'remove_all_other_if_individual' );

function remove_all_other_if_individual( $cart_item_data ) {

    global $woocommerce;
    $items                       = $woocommerce->cart->get_cart();
    $is_sold_individual_incart   = false;
    foreach ( $items as $item => $values ) {
        $_product                    = wc_get_product( $values[ 'data' ]->get_id() );
        if ( $_product->is_sold_individually() )
            $is_sold_individual_incart   = TRUE;
    }
    if ( $is_sold_individual_incart )
        $woocommerce->cart->empty_cart();

    // Do nothing with the data and return
    return true;
}

以上是关于WooCommerce - 启用此功能,以便在一个订单中只允许购买此商品中的一个。的主要内容,如果未能解决你的问题,请参考以下文章

在 WooCommerce 产品搜索中启用自定义分类

如何以编程方式在WooCommerce产品中启用评论和评分?

在 Woocommerce 中的产品自定义循环上启用 Ajax 添加到购物车按钮

创建后在属性中启用存档 (Woocommerce)

添加一个结帐复选框字段,在 Woocommerce 中启用百分比费用

在 WooCommerce Checkout 自定义文本字段中启用 Datepicker