Почему не работает wp_new_user_notification?
Все началось с того, что у меня не уходят письма о новых регистрациях на админский ящик. Начал издеваться над функцией wp_new_user_notification, путем тупой вставки адреса куда слать письмо, удаление проверок и тд. Ничего не приводило к каким либо изменения. Дошло до того что я тупо вырезал функцию, а почта всеравно ушла как и раньше. В гугле прочитал? что может помочь настройка smtp. Установил плагин WP Mail SMTP и попробовал настроить отправку писем через гугл, яндекс и хостинг(ionos). Ничего из этого не сработало, коректность введенных данных проверял тысячу раз.
Стоит отметить, что пользователю приходят все письма, на почту админа так же успешно доходят сообщения о новых заказах и из форм CF7. Подскажите, как админу получать письма о новых регистрациях?
Дополнительные вопросы
Уже ж рассказывал .
Ответы на вопрос 0
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Если вы меняете
wp_new_user_notification, а письма всё равно уходят «как раньше», значит вы редактируете не тот участок или вашу функцию вообще не использует текущий процесс. В WordPress письма о регистрации могут отправлять ядро, тема, плагин регистрации, WooCommerce, membership-плагин, SMTP-плагин или кастомный код.Первое правило: не правьте core-функцию напрямую. Её нужно переопределять через pluggable-механизм или отключать конкретные hooks, но сначала нужно понять источник письма.
Проверьте так:
wp_mail.Минимальный лог для диагностики:
add_filter('wp_mail', function ($args) { error_log('WP_MAIL_TO: ' . print_r($args['to'], true)); error_log('WP_MAIL_SUBJECT: ' . $args['subject']); error_log(wp_debug_backtrace_summary()); return $args; });
После регистрации нового пользователя откройте
wp-content/debug.log. В backtrace будет видно, кто вызвал отправку письма. Это быстрее, чем наугад менять функции.Если нужно отключить стандартное уведомление администратору о новом пользователе, в новых версиях WordPress можно использовать фильтр:
add_filter('wp_send_new_user_notification_to_admin', '__return_false');
Если нужно отключить письмо пользователю:
add_filter('wp_send_new_user_notification_to_user', '__return_false');
SMTP здесь решает только доставку письма, но не источник его отправки. Если письмо создаётся другим плагином, настройка SMTP не отменит его.
Вывод: сначала найдите источник через лог
wp_mail. После этого станет понятно, отключать ли стандартный фильтр WordPress, email WooCommerce, hook плагина регистрации или кастомный код темы.