Описание woocommerce_cart_item_is_purchasable
— Filter
Хук woocommerce_cart_item_is_purchasable позволяет изменить возможность покупки товара в корзине WooCommerce. Он срабатывает при проверке возможности покупки каждого товара в корзине, что позволяет разработчикам контролировать, какие товары могут быть куплены пользователем
Примеры использования
Пример отключения возможности покупки товара с ID 123:
add_filter('woocommerce_cart_item_is_purchasable', function($purchasable, $cart_item, $cart_item_key) {
if($cart_item['product_id'] == 123) {
return false;
}
return $purchasable;
});
В этом примере мы запрещаем покупку товара с ID 123, возвращая false.
Пример разрешения покупки только для товаров в определенной категории:
add_filter('woocommerce_cart_item_is_purchasable', function($purchasable, $cart_item, $cart_item_key) {
$product = wc_get_product($cart_item['product_id']);
if(!$product->is_in_stock() || !$product->is_type('simple')) {
return false;
}
return $purchasable;
});
Здесь мы запрещаем покупку товаров, которые отсутствуют на складе или не являются простыми товарами.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо контролировать доступность товаров в корзине в зависимости от условий, таких как наличие или тип товара
– Производительность
Хук не оказывает значительного влияния на производительность, но следует избегать сложных вычислений в его реализации
– Предупреждения
Убедитесь, что изменения не создают путаницы для пользователей, особенно если товары могут быть доступны в других частях магазина
Альтернативы
Тип: filter
Этот хук позволяет контролировать возможность покупки товара на уровне самого товара, а не в корзине
Используйте его, если хотите управлять возможностью покупки на странице товара, а не в корзине