java购物车的数量案例_更新woocommerce购物车中的数量

我有一个woocommerce,我修改为包括产品数量,从商店添加产品到购物车 . 这工作正常 .

现在,当用户点击已经在购物车中的产品上的"add to cart"按钮时,我需要将woocommerce修改为 replace the product quantity (instead of adding it) .

我的第一次尝试是创建一个woocommerce_add_to_cart操作来检查产品是否在购物车中并在添加之前将其删除:

function replace_product_in_cart( $product_key, $quantity ) {

global $woocommerce;

$f = FALSE;

if ( sizeof( WC()->cart->get_cart() ) > 0 ) {

foreach ( WC()->cart->get_cart() as $cart_item ) {

if( $cart_item['key'] == $product_key ) { $f = TRUE; }

}

}

if ( $f ) {

WC()->cart->remove_cart_item($product_key); // this is working fine

}

WC()->cart->add_to_cart($product_key, $quantity); // this is not working

}

删除它的部分,这是正常的 . 但它以后不会添加 . (也许add_to_cart调用引发了我的函数循环?)

我也试过了 set_quantity ,但这不是更新数量,也不是将新产品添加到购物车:

function replace_product_in_cart( $product_key, $product_id, $quantity ) {

global $woocommerce;

if ( sizeof( WC()->cart->get_cart() ) > 0 ) {

foreach ( WC()->cart->get_cart() as $cart_item ) {

if( $cart_item['key'] == $product_key ) {

WC()->cart->set_quantity($product_key, $quantity, TRUE);

}

}

}

}

有任何想法吗?谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值