Описание woocommerce_is_purchasable
— Filter
Хук woocommerce_is_purchasable позволяет изменять доступность товара для покупки в WooCommerce. Он срабатывает при проверке, может ли товар быть куплен, и позволяет настроить поведение товаров в зависимости от определенных условий
Примеры использования
Пример скрытия определенного товара от покупки:
add_filter('woocommerce_is_purchasable', function($purchasable, $product) {
if ($product->get_id() === 123) {
return false;
}
return $purchasable;
}, 10, 2);
В этом примере товар с ID 123 будет недоступен для покупки
Пример ограничения продажи товара на основе пользовательской роли:
add_filter('woocommerce_is_purchasable', function($purchasable, $product) {
if (!current_user_can('purchase_product')) {
return false;
}
return $purchasable;
}, 10, 2);
Здесь мы проверяем, имеет ли пользователь определенную роль перед тем, как разрешить покупку товара
Пример изменения доступности товара в зависимости от его статуса:
add_filter('woocommerce_is_purchasable', function($purchasable, $product) {
if ($product->get_stock_status() === 'outofstock') {
return false;
}
return $purchasable;
}, 10, 2);
В этом случае товар будет недоступен для покупки, если он отсутствует на складе
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить доступность товара для покупки в зависимости от специфических условий
– Производительность
Хотя хук может повлиять на производительность, если используется много условий, его влияние обычно незначительно
– Предупреждения
Убедитесь, что изменения не нарушают логику работы вашего магазина и не вводят пользователей в заблуждение
Альтернативы
Тип: filter
Этот хук позволяет контролировать видимость товара на сайте, что может быть полезно для ограничения доступа к товарам
Используйте его, если необходимо скрыть товар от пользователей в зависимости от условий