Описание woocommerce_email_enabled_$THIS->ID
— Filter
Хук woocommerce_email_enabled_$THIS->ID позволяет включать или отключать отправку конкретных email-уведомлений в WooCommerce. Он срабатывает при проверке, нужно ли отправлять определенное уведомление, и позволяет изменять его состояние в зависимости от контекста
Примеры использования
Пример отключения уведомления о новом заказе для определенного статуса заказа:
add_filter('woocommerce_email_enabled_new_order', function($enabled, $order) {
if ($order->get_status() === 'pending') {
return false;
}
return $enabled;
});
В этом примере мы отключаем отправку уведомлений о новых заказах, если статус заказа ‘ожидается’.
Пример отключения уведомления об отмене заказа для определенных пользователей:
add_filter('woocommerce_email_enabled_customer_cancelled_order', function($enabled, $order) {
if ($order->get_user_id() === 123) {
return false;
}
return $enabled;
});
Здесь мы отключаем уведомления об отмене заказа для пользователя с ID 123.
Пример изменения состояния уведомления на основе пользовательских метаданных:
add_filter('woocommerce_email_enabled_customer_completed_order', function($enabled, $order) {
if (get_post_meta($order->get_id(), '_disable_completed_email', true)) {
return false;
}
return $enabled;
});
Мы отключаем уведомления о завершении заказа, если в метаданных заказа установлено значение ‘_disable_completed_email’.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо управлять отправкой email-уведомлений на основе специфических условий вашего бизнеса
– Производительность
Убедитесь, что условия проверки не слишком сложные, чтобы избежать потенциальных проблем с производительностью
– Предупреждения
Не забывайте тестировать изменения, чтобы убедиться, что уведомления работают так, как ожидается
Альтернативы
Тип: filter
Этот хук позволяет изменять классы email-уведомлений, добавляя или удаляя функциональность
Используйте его, если нужно изменить структуру или содержимое уведомлений, а не только их отправку