Стандартный WordPress генерирует множество системных писем: уведомления о новых комментариях, смене пароля, регистрации пользователя и других событиях. Иногда эти письма не нужны, вызывают спам или просто мешают. В этой статье разберём, как можно отключить разные типы системных email без использования дополнительных плагинов, только с помощью кода.
Почему стоит отключать системные письма вручную
Плагины для отключения email могут быть удобными, но часто они добавляют лишний функционал или замедляют сайт. Если вы хотите тонко контролировать, какие письма отправляются, лучше добавить свои фильтры в functions.php темы или создать небольшой кастомный плагин. Это повысит производительность и безопасность.
Кроме того, отключение почты вручную – полезный навык для разработчика, который позволяет адаптировать поведение сайта под конкретные задачи.
Отключение уведомлений о новых комментариях
По умолчанию WordPress отправляет письмо администратору при появлении нового комментария. Чтобы отключить это, добавим фильтр, который отменит отправку email:
add_filter('notify_post_author', 'wpzoom_disable_notify_post_author', 10, 2);
function wpzoom_disable_notify_post_author($notify, $comment_id) {
return false; // Отключаем уведомления автору записи
}Этот код нужно добавить в файл functions.php вашей темы или в кастомный плагин. Он предотвращает отправку уведомлений автору поста.
Если вы хотите отключить уведомления модератору комментариев (обычно администратору), используйте:
add_filter('notify_moderator', '__return_false');Этот фильтр полностью отключает почтовые уведомления о новых комментариях, ожидающих модерации.
Отключение писем о смене пароля и сбросе
WordPress отправляет письмо на электронную почту пользователя при сбросе пароля. Иногда нужно запретить эти письма, например, на тестовом сайте. Для этого используем фильтр:
add_filter('send_password_change_email', '__return_false');
add_filter('send_email_change_email', '__return_false');Первый отключает уведомление о смене пароля, второй – о смене email пользователя. Они предотвращают отправку соответствующих писем.
Отключение писем о регистрации пользователя
При регистрации нового пользователя WordPress отправляет приветственное письмо. Чтобы его отключить, добавьте следующий код:
remove_action('register_new_user', 'wp_send_new_user_notifications');
remove_action('edit_user_created_user', 'wp_send_new_user_notifications', 10, 2);Этот код убирает стандартные действия отправки уведомлений при регистрации пользователя.
Пример кастомного отключения сообщений для разных ролей
Если нужно отключать уведомления только для определённых ролей, можно добавить проверку роли пользователя. Например, отключать уведомления при регистрации только для роли «подписчик»:
add_action('register_new_user', 'wpzoom_conditional_disable_notifications');
function wpzoom_conditional_disable_notifications($user_id) {
$user = get_userdata($user_id);
if (in_array('subscriber', $user->roles)) {
remove_action('register_new_user', 'wp_send_new_user_notifications');
}
}Этот подход позволяет гибко управлять отправкой писем.
Как временно отключить всю отправку почты WordPress
Для тестирования иногда удобно полностью блокировать отправку писем. Для этого можно переопределить функцию wp_mail так, чтобы она ничего не делала:
if (!function_exists('wpzoom_wp_mail_disable')) {
function wpzoom_wp_mail_disable($to, $subject, $message, $headers = '', $attachments = array()) {
return true; // Просто возвращаем true, не отправляя письмо
}
add_filter('wp_mail', 'wpzoom_wp_mail_disable');
}Однако такой метод рекомендуется только для локальной разработки, так как он полностью блокирует все письма.
Использование плагина Clearfy Pro для управления почтовыми уведомлениями
Если вам всё-таки удобнее использовать плагин, советуем Clearfy Pro. Он позволяет отключать системные уведомления, оптимизировать работу сайта и управлять множеством функций без кодинга.
Clearfy Pro имеет удобный интерфейс, где вы можете в пару кликов выключить любые системные письма, например, уведомления о комментариях, регистрации, смене пароля и т.д.
Заключение по отключению системных писем WordPress
Отключение стандартных email WordPress — частая задача при доработке сайта. Использование фильтров и хуков позволяет тонко настраивать поведение без плагинов, что экономит ресурсы и даёт полный контроль.
Всегда тестируйте внесённые изменения на тестовом сайте, чтобы избежать потери важных уведомлений. При необходимости используйте современные плагины, такие как Clearfy Pro, для удобного управления почтовыми функциями.