Как отключить отправку email уведомлений в WordPress без плагинов

В процессе работы с WordPress нередко возникает необходимость отключить автоматическую отправку email уведомлений, которые по умолчанию рассылает система. Это может быть полезно, например, если вы хотите временно прекратить уведомления о новых комментариях, регистрациях пользователей или изменениях паролей, но при этом не хотите устанавливать дополнительные плагины, чтобы не нагружать сайт.

Почему стоит отключать email уведомления вручную, а не через плагины

Многие разработчики предпочитают минимизировать количество установленных плагинов, чтобы избежать конфликтов, замедления сайта и проблем с безопасностью. Кроме того, плагины могут предлагать слишком много функций, когда вам нужна только базовая возможность отключения почты. В таких случаях гораздо удобнее реализовать отключение уведомлений напрямую через код в functions.php вашей темы или в отдельном плагине.

Это даёт полный контроль над процессом и позволяет гибко отключать именно те уведомления, которые вам не нужны.

Основные типы email уведомлений в WordPress и способы их отключения

WordPress по умолчанию отправляет такие уведомления:

  • Уведомления о новых комментариях
  • Уведомления о регистрации новых пользователей
  • Уведомления о смене пароля
  • Уведомления администраторам о обновлениях

Для отключения каждого из этих типов можно использовать свои фильтры и хуки.

Отключение уведомлений о новых комментариях

Чтобы отключить уведомления, которые приходят администратору при появлении нового комментария, можно использовать фильтр wp_mail или более специфичные хуки. Один из простых методов — переопределить функцию отправки письма, если тема письма содержит определённые ключевые слова.

add_filter('wp_mail', 'wpcourse_disable_comment_notifications');
function wpcourse_disable_comment_notifications($args) {
    if (strpos($args['subject'], 'Новый комментарий') !== false) {
        // Возвращаем false, чтобы email не отправлялся
        return false;
    }
    return $args;
}

Однако такой способ не самый надёжный. Лучше использовать хук notify_post_author и notify_moderator, которые контролируют отправку уведомлений о комментариях:

remove_action('comment_post', 'wp_notify_postauthor', 10, 2);
remove_action('comment_moderation', 'wp_notify_moderator');

Этот код отключит уведомления администратора и автора записи о новых комментариях.

Отключение уведомлений о регистрации новых пользователей

По умолчанию WordPress отправляет два письма при регистрации нового пользователя: одно — пользователю, другое — администратору. Чтобы отключить уведомления админу, используйте фильтр send_new_user_notifications_email:

add_filter('send_new_user_notifications_email', 'wpcourse_disable_admin_registration_email', 10, 3);
function wpcourse_disable_admin_registration_email($send, $user, $blogname) {
    return false; // Отключаем уведомления админу
}

Если нужно отключить письмо пользователю, его тоже можно перехватить, но это требует более сложных изменений.

Отключение уведомлений о смене пароля

WordPress отправляет уведомление пользователю при смене пароля с помощью функции wp_password_change_notification(). Чтобы отключить это уведомление, можно переопределить функцию:

if (!function_exists('wp_password_change_notification')) {
    function wp_password_change_notification($user) {
        // Пустая функция, чтобы отключить уведомление
    }
}

Этот трюк убирает отправку уведомления о смене пароля.

Универсальное отключение всех исходящих email в WordPress

Если необходимо полностью отключить отправку email с сайта (например, на тестовом сервере), можно использовать фильтр wp_mail и возвращать false:

add_filter('wp_mail', 'wpcourse_disable_all_emails');
function wpcourse_disable_all_emails($args) {
    return false;
}

Но будьте осторожны: это заблокирует все почтовые уведомления, включая важные.

Пример создания мини-плагина для отключения уведомлений

Лучше всего вынести код в отдельный мини-плагин, чтобы не потерять изменения при обновлении темы. Создайте файл disable-emails-wpcourse.php с таким содержимым:

<?php
/**
 * Plugin Name: Disable Emails WPCourse
 * Description: Отключение стандартных email уведомлений WordPress
 * Version: 1.0
 * Author: WPCourse
 */

// Отключаем уведомления о новых комментариях
remove_action('comment_post', 'wp_notify_postauthor', 10, 2);
remove_action('comment_moderation', 'wp_notify_moderator');

// Отключаем уведомления админу при регистрации новых пользователей
add_filter('send_new_user_notifications_email', '__return_false');

// Отключаем уведомления о смене пароля
if (!function_exists('wp_password_change_notification')) {
    function wp_password_change_notification($user) {
        // Не отправляем уведомление
    }
}

Активируйте этот плагин через админку WordPress, и нужные уведомления перестанут приходить.

Советы по контролю отправки email в WordPress

Для более гибкого управления уведомлениями можно использовать плагины, например, Clearfy Pro, который позволяет легко отключать ненужные уведомления и оптимизировать сайт.

Также полезно настроить SMTP-сервер для корректной отправки важных писем, чтобы исключить попадание в спам.

В итоге, отключение email уведомлений вручную через код — это простой и надёжный способ контролировать почтовую активность вашего сайта, без лишних плагинов.

Как автоматизировать создание и отправку email отчёта в WordPress
10.01.2026
Автоматическое удаление неоплаченных заказов в WooCommerce
03.06.2026
Как создать автоматические запросные формы в WordPress с применением WPRemark
27.01.2026
Как использовать хуки для оптимизации WordPress
14.01.2026
Как создать Custom Post Type в WordPress с примерами кода
21.11.2025

Хотите научиться создавать сайты и зарабатывать на этом от 30 000 рублей в месяц?

Записаться на курс сейчас