Описание woocommerce_order_is_download_permitted
— Filter
Хук woocommerce_order_is_download_permitted позволяет определить, разрешено ли клиенту загружать файлы, связанные с его заказом. Он срабатывает при проверке прав клиента на доступ к загружаемым файлам после завершения заказа, что позволяет управлять доступом к цифровым товарам.
Примеры использования
Пример ограничения доступа к загрузкам для пользователей с определенной ролью:
add_filter('woocommerce_order_is_download_permitted', function($is_permitted, $download, $order, $user) {
if (in_array('subscriber', $user->roles)) {
return false;
}
return $is_permitted;
}, 10, 4);
В этом примере доступ к загрузкам запрещен для пользователей с ролью ‘subscriber’.
Пример разрешения доступа только для определенных товаров:
add_filter('woocommerce_order_is_download_permitted', function($is_permitted, $download, $order) {
if ($download['product_id'] === 123) {
return true;
}
return false;
}, 10, 3);
Здесь доступ к загрузкам разрешён только для товара с ID 123.
Пример разрешения доступа на основе статуса заказа:
add_filter('woocommerce_order_is_download_permitted', function($is_permitted, $download, $order) {
if ($order->get_status() === 'completed') {
return true;
}
return false;
}, 10, 3);
Этот пример разрешает доступ к загрузкам только для завершённых заказов.
— Лучшие практики
– Использование
Используйте этот хук для контроля доступа к загрузкам цифровых товаров на основе различных условий, таких как роль пользователя или статус заказа.
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только проверки прав доступа.
– Предупреждения
Обязательно проверяйте условия доступа, чтобы не допустить утечек информации о товарах.
Альтернативы
Тип: filter
Этот хук позволяет управлять разрешениями на загрузку для конкретных пользователей и заказов.
Используйте его, если нужно более детально настроить разрешения на загрузку для конкретных пользователей.