В WooCommerce можно настроить количество товара в корзине несколькими способами — как с использованием встроенных функций, так и с помощью пользовательских решений. Вы можете программно управлять количеством товара, добавить выбор количества на странице товара или изменить поведение корзины. 1. Включение выбора количества на странице товара WooCommerce по умолчанию предоставляет возможность выбрать количество товара перед добавлением в корзину. Количество: Если поле не отображается, можно явно вызвать его вывод в файле single-product.php: woocommerce_quantity_input( array( 'min_value' => apply_filters( 'woocommerce_quantity_input_min', 1 ), 'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity() ), 'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : 1 ) ); 2. Изменение минимального и максимального количества товаров Минимальное количество add_filter( 'woocommerce_quantity_input_min', 'custom_woocommerce_quantity_min', 10, 2 ); function custom_woocommerce_quantity_min( $min, $product ) { return 2; // Установить минимальное количество 2 } Максимальное количество add_filter( 'woocommerce_quantity_input_max', 'custom_woocommerce_quantity_max', 10, 2 ); function custom_woocommerce_quantity_max( $max, $product ) { return 10; // Установить максимальное количество 10 } 3. Программное изменение количества товара в корзине function update_cart_quantity() { $cart_item_key = WC()->cart->find_product_in_cart(WC()->cart->generate_cart_id(123)); // ID товара if ($cart_item_key) { WC()->cart->set_quantity($cart_item_key, 5); // Установить количество 5 } } add_action('init', 'update_cart_quantity'); 4. Принудительное изменение количества при добавлении товара add_filter('woocommerce_add_cart_item_data', 'custom_add_cart_item_quantity', 10, 2); function custom_add_cart_item_quantity($cart_item_data, $product_id) { if ($product_id == 123) { // ID товара $cart_item_data['quantity'] = 5; // Установить количество 5 } return $cart_item_data; } 5. Ограничение количества товаров в корзине add_action('woocommerce_before_calculate_totals', 'limit_cart_item_quantity'); function limit_cart_item_quantity($cart) { if (is_admin() && !defined('DOING_AJAX')) return; $max_items = 10; // Максимум товаров $cart_items_count = $cart->get_cart_contents_count(); if ($cart_items_count > $max_items) { wc_add_notice(sprintf('В вашей корзине не может быть больше %d товаров.', $max_items), 'error'); } } 6. Вывод общего количества товаров в корзине echo WC()->cart->get_cart_contents_count(); // Выведет количество товаров в корзине 7. Импорт товаров с указанием количества При импорте товаров через CSV вы можете указать начальное количество в столбце Stock или задать минимальные и максимальные значения через соответствующие поля. WooCommerce предоставляет множество гибких возможностей для работы с количеством товаров в корзине. Вы можете настроить минимальные и максимальные значения, обновлять количество программно или через интерфейс, а также ограничить общее количество товаров в корзине.