Сделайте что бы кол-во начиналось с 0.5 (а не с 1) и шаг 0.5
Что бы человек покупал именно литры, а не бутылки.
Доброго времени суток.
Наверняка есть готовые плагины, я их не знаю. Также по вашей задаче надо смотреть на месте, я опишу свое видение. Решение которое я дам, оно может быть неправильное, поскольку все нужно смотреть на месте…
В Woo есть хук woocommerce_order_status_completed который должен выполнятся при завершении заказа. В итоге, примерно, будет так
add_action('woocommerce_order_status_completed', 'air_product_stock_on_order_complete');
function air_product_stock_on_order_complete($order_id) {
$order = wc_get_order($order_id);
$items = $order->get_items();
foreach ($items as $item) {
$product_id = $item->get_variation_id() > 0 ? $item->get_variation_id() : $item->get_product_id();
$product = wc_get_product($product_id);
$quantity_sold = $item->get_quantity();
$current_stock = $product->get_stock_quantity();
$new_stock = $current_stock - $quantity_sold;
$product->set_stock_quantity($new_stock);
$product->save();
}
}
Повторюсь — я примерный код написал, я потому что не могу воспроизвести именно по вашей задаче, у меня нет такого магазина и таких условностей, создавать — долго.
И опять же есть небольшая проблемка — это количество. Дело в том что в вуке количество товара это целое число. Поэтому надо копать в отношении того, как количество разрешить для записи на 95,5, 5,1 и т.д. наверняка это не проблема. Также можно использовать кастомное поле для количества, но в этом случае много, что надо сделать
Ну можно всегда так же после моего решения округлить до целого, а остатки выпить 😁