Приветствую, друзья! Сегодня я хочу рассказать о том, как в WooCommerce ограничить количество продаж в день для конкретного продукта. Это может быть полезно, если у вас есть ограниченное количество товара и вы не хотите продавать больше определенного количества в день.
Конечно, функция «управление запасами» уже есть в WooCommerce, и она позволяет не продавать товары, которых нет на складе. Но что если вы хотите установить ограничение на продажи товара в день? Например, чтобы не продавать больше трех единиц определенного товара в день.
Чтобы реализовать эту функциональность, вам нужно узнать, как получить заказы за текущий день, пройтись по заказам, чтобы найти нужный товар и посчитать количество его продаж. Затем вы можете использовать фильтр «woocommerce_is_purchasable
«, чтобы запретить покупку товара, если ограничение продаж на сегодня уже достигнуто.
add_filter( 'woocommerce_is_purchasable', 'genius_not_purchasable_after_daily_limit', 9999, 2 );
function genius_not_purchasable_after_daily_limit( $is_purchasable, $product ) {
// Укажите ID поста продукта
$limit_product_id = 12345;
if ( $product->get_id() !== $limit_product_id ) return $is_purchasable;
// Получаем заказы совершенные сегодня
$all_orders = wc_get_orders(
array(
'limit' => -1,
'date_created' => date( 'Y-m-d' ),
'return' => 'ids',
)
);
$count = 0;
foreach ( $all_orders as $all_order ) {
$order = wc_get_order( $all_order );
$items = $order->get_items();
foreach ( $items as $item ) {
$product_id = $item->get_product_id();
if ( $product_id && $product_id == $limit_product_id ) {
$count = $count + absint( $item['qty'] );
}
}
}
// Лимитируем 3 продажи в день
if ( $count >= 3 ) return false;
return $is_purchasable;
}
Данный код можно вставить в файл functions.php вашей темы WordPress. Думаю, этот способ будет полезен для владельцев интернет-магазинов, которые хотят управлять продажами своих товаров. Удачи вам в создании своего магазина и не забывайте про лимиты продаж!