Описание woocommerce_allow_send_queued_transactional_email
— Filter
Хук woocommerce_allow_send_queued_transactional_email позволяет управлять отправкой очередных транзакционных писем в WooCommerce. Он срабатывает при обработке очереди писем и позволяет разрешить или запретить отправку определенных писем, что может быть полезно для управления коммуникацией с клиентами
Примеры использования
Пример запрета отправки писем о новых заказах в определенные дни:
add_filter('woocommerce_allow_send_queued_transactional_email', function($allow_send, $email) {
if ($email === 'new_order' && date('N') == 7) { // Воскресенье
$allow_send = false;
}
return $allow_send;
});
В этом примере мы запрещаем отправку писем о новых заказах по воскресеньям
Пример разрешения отправки счетов только для определенных клиентов:
add_filter('woocommerce_allow_send_queued_transactional_email', function($allow_send, $email) {
if ($email === 'customer_invoice' && !current_user_can('manage_woocommerce')) { // Если не администратор
$allow_send = false;
}
return $allow_send;
});
Здесь мы разрешаем отправку счетов только для администраторов
Пример изменения логики отправки писем в зависимости от статуса заказа:
add_filter('woocommerce_allow_send_queued_transactional_email', function($allow_send, $email) {
if ($email === 'new_order' && isset($_GET['status']) && $_GET['status'] === 'pending') {
$allow_send = false; // Не отправлять письма для ожидающих заказов
}
return $allow_send;
});
В этом примере мы запрещаем отправку писем о новых заказах, если статус заказа ‘ожидает’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо контролировать отправку транзакционных писем в зависимости от определенных условий
– Производительность
Хук не должен значительно влиять на производительность, но следует избегать сложных проверок, которые могут затягивать процесс отправки писем
– Предупреждения
Убедитесь, что изменения не мешают важной коммуникации с клиентами
Альтернативы
Тип: filter
Этот хук позволяет изменять классы писем WooCommerce, что может быть полезно для изменения логики отправки и содержания писем
Используйте его, если нужно изменить сам класс отправляемого письма, а не только управление отправкой