Estoy tratando de agregar un producto llamado (Cargo de envío) al carrito según la cantidad de productos que tengo en el carrito.
Ejemplo de carrito:
Producto A (CANT 5)
Producto B (CANT 2)
Producto C (CANT 4)
Cargo por envío (CANTIDAD 3) **Este es 3 porque ese es el total de artículos de línea que se deben contar y que se agregaron al carrito antes de que se agregara el producto con cargo por envío.
Tener problemas con mi código:
/* 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);
}
}
Siempre devuelve un número mayor. Creo que está contando la CANTIDAD de cada producto y no el artículo del producto real.
¡Cualquier ayuda sería apreciada!