У меня есть вопрос о количестве товаров в WooCommerce.
Я хотел бы добавить общее количество в корзину, если пользователь вводит больше, чем оставшееся количество для продукта.
Я пробовал много разных кодов для этого, но все тщетно.
Пожалуйста, любая помощь будет оценена.
Вы должны попробовать эту пользовательскую функцию, подключенную woocommerce_add_to_cart
, это установит максимальное доступное количество товара в корзине, когда клиент добавляет больше, чем оставшееся доступное количество товара:
add_action('woocommerce_add_to_cart', 'add_to_cart_qty', 10, 6 );
function add_to_cart_qty( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ){
$real_product_id = $variation_id > 0 ? $variation_id : $product_id;
$product = wc_get_product($real_product_id);
$product_stock = $product->get_stock_quantity();
// Zero or negative stock (remove the product)
if( $product_stock <= 0 && $product->get_manage_stock() ){
WC()->cart->remove_cart_item( $cart_item_key );
return;
}
if( $quantity > $product_stock && $product->get_manage_stock() ){
WC()->cart->set_quantity( $cart_item_key, $product_stock );
}
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы) или в любом файле плагина.
Этот код протестирован и работает даже для вариантов продукта.
Других решений пока нет …