Как отключить системные email-уведомления WordPress без плагинов

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

Почему важно управлять системными email-уведомлениями WordPress

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

Использование встроенных хуков и фильтров WordPress позволяет тонко настроить или полностью отключить ненужные уведомления без установки дополнительных плагинов, что снижает нагрузку на сайт и повышает безопасность.

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

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

По умолчанию WordPress отправляет письмо админу о регистрации нового пользователя. Для отключения этого уведомления можно использовать фильтр wp_new_user_notification_email_admin, возвращая пустое значение.

function wpset_disable_new_user_notification_admin( $wp_new_user_notification_email_admin, $user, $blogname ) {
    return false; // Отключаем письмо админу
}
add_filter( 'wp_new_user_notification_email_admin', 'wpset_disable_new_user_notification_admin', 10, 3 );

Однако в более новых версиях WordPress возможны изменения, поэтому можно полностью отключить функцию уведомления с помощью удаления действия:

remove_action( 'register_new_user', 'wp_send_new_user_notifications' );

Если нужно отключить уведомление самому пользователю о регистрации, можно использовать аналогичный фильтр:

function wpset_disable_new_user_notification_user( $wp_new_user_notification_email, $user, $blogname ) {
    return false; // Отключаем письмо пользователю
}
add_filter( 'wp_new_user_notification_email', 'wpset_disable_new_user_notification_user', 10, 3 );

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

WordPress отправляет уведомления при смене пароля или запросе восстановления. Чтобы отключить такие письма, нужно перехватить соответствующие функции, например retrieve_password и password_change_email.

add_filter( 'send_password_change_email', '__return_false' );
add_filter( 'send_email_change_email', '__return_false' );

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

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

Если вам не нужны email-уведомления о новых комментариях, можно отключить их с помощью фильтров:

add_filter( 'notify_post_author', '__return_false' );
add_filter( 'notify_moderator', '__return_false' );

Первый фильтр отключает отправку писем автору записи, второй — модератору о новых комментариях, ожидающих модерации.

Пример комплексного решения для отключения всех системных email уведомлений

Ниже пример кода, который можно добавить в файл functions.php вашей темы или в отдельный mu-plugin, чтобы полностью отключить системные email уведомления WordPress:

function wpset_disable_all_wp_emails() {
    // Отключаем уведомления о новых пользователях
    remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
    // Отключаем уведомления о смене пароля
    add_filter( 'send_password_change_email', '__return_false' );
    add_filter( 'send_email_change_email', '__return_false' );
    // Отключаем уведомления о новых комментариях
    add_filter( 'notify_post_author', '__return_false' );
    add_filter( 'notify_moderator', '__return_false' );
}
add_action( 'init', 'wpset_disable_all_wp_emails' );

Этот код отключит большинство стандартных системных уведомлений, не влияя на другие функции сайта.

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

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

function wpset_custom_new_user_email_subject( $subject, $user, $blogname ) {
    return 'Добро пожаловать на сайт ' . $blogname . ', ' . $user->user_login;
}
add_filter( 'wp_new_user_notification_email_subject', 'wpset_custom_new_user_email_subject', 10, 3 );

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

Плагины для управления email уведомлениями в WordPress

Если вы предпочитаете использовать готовые решения, обратите внимание на плагины:

  • Disable Emails — полностью отключает все отправляемые письма WordPress.
  • WP Mail SMTP — позволяет настраивать SMTP и некоторые параметры писем.
  • Email Control — настраивает, какие уведомления отправлять.

Для интеграции с вашими плагинами, например, WPGPT или Expert Review, настройка уведомлений в коде поможет избежать конфликтов и избыточной почтовой нагрузки.

Итог

Управление системными email уведомлениями WordPress — важная задача для любого сайта. Используя описанные методы и фильтры, можно легко отключать ненужные письма или кастомизировать их под свои нужды без установки дополнительных плагинов, что положительно сказывается на производительности и безопасности сайта.

Использование хука woocommerce_order_status_changed для автоматизации в WooCommerce
17.04.2026
Как избежать конфликтов между плагинами в WordPress
19.11.2025
Как добавить проверку и очистку входящих данных в WordPress
27.03.2026
Как установить и настроить WPRemark для расширенного комментирования в WordPress
19.02.2026
Автоматическое изменение веса продукта в WooCommerce при обновлении атрибутов
21.05.2026