Я пытаюсь добавить товар с названием (Стоимость доставки) в корзину, исходя из того, сколько товаров у меня в корзине.
Пример корзины:
Продукт A (Кол-во 5)
Продукт B (QTY 2)
Продукт C (QTY 4)
Плата за доставку (Кол-во 3) ** Это 3, потому что это общее количество позиций, которое должно быть подсчитано и добавлено вкорзина до доставки товара был добавлен.
Возникли проблемы с моим кодом:
/* Function to get total Products (line items) not qty of each */
function count_item_in_cart() {
global $woocommerce;
$counter = 0;
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
$counter++;
}
return $counter;
}
/* Add DC (Delivery Charge Product) to Cart based on qty */
add_action( 'template_redirect', 'delivery_charge_add_product_to_cart' );
function delivery_charge_add_product_to_cart() {
/* Establish Product Delivery Charge Product ID */
global $woocommerce;
$product_id = 4490; /* Product ID to add to cart */
$quantity = count_item_in_cart();
if ($quantity > 0) {
WC()->cart->add_to_cart( $product_id, $quantity);
}
}
Всегда возвращается большее число.Я думаю, что это подсчет QTY для каждого продукта, а не фактического продукта.
Буду признателен за любую помощь!