我需要在实际提交订单之前更改 WooCommerce 产品数量(因此在添加到购物车之后或提交订单之前)。我设法做到了这样:
function change_cart_item_quantities ( $cart ) {
$new_qty = 9; // Piece of code for new Qty calculation, dummy number for now
// Checking cart items
foreach( $cart->get_cart() as $cart_item_key => $cart_item ) {
$product_id = $cart_item['data']->get_id();
$cart->set_quantity( $cart_item_key, $new_qty, false );
}
}
该set_quantity()
方法应该完全符合我的需要,第三个参数是一个布尔值,它定义了在数量更改后是否应刷新购物车总数。效果很好,每个产品在添加到购物车后都有“9”的数量,但购物车总数确实会更新。
有没有办法解决这个问题?我错过了什么吗?