Мне нужно изменить количество продукта 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» после добавления в корзину, , но итоги корзины обновляются .
Есть ли способ решить это? Я что-то упустил?