Если вам нужно, чтобы клиентам дополнительно в корзину добавлялся дополнительный товар, например упаковка, от которой можно будет отказаться на этапе оформления заказа.

Код автоматического добавления товара

add_action('woocommerce_add_to_cart', 'add_packaging_to_cart', 10, 6);

function add_packaging_to_cart($cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data) {
    // ID товара "Доп товар"
    $packaging_product_id = 123; // Замените на реальный ID товара

    // Проверяем, не добавлен ли доп товар
    $found = false;
    foreach (WC()->cart->get_cart() as $cart_item) {
        if ($cart_item['product_id'] == $packaging_product_id) {
            $found = true;
            break;
        }
    }

    // Если доп товара нет в корзине — добавляем
    if (!$found) {
        WC()->cart->add_to_cart($packaging_product_id, 1); // 1 — количество
    }
}

Выше представлен код, который позволяет автоматически добавить товар при добавлении товара в корзину, добавленный товар добавляется 1 раз и не дублируется.

Настройки

  • 1. Добавленный товар должен быть создан как товар в Woocommerce, указать его цену
  • Добавить ID товара в код на место 123

Теперь при добавлении товара в корзину, выбранный товар будет добавляться автоматически