Итак, в WordPress 4.3 появилась новая система паролей, как мы все знаем. К сожалению, эта новая система покончила с возможностью НЕ отправлять новым пользователям электронную почту.
Мой клиент использовал систему, в которой он отправлял заказное электронное письмо своим клиентам, вручную регистрировал их электронные письма, а затем отправлял им электронное письмо с информацией для входа в систему и специальным сообщением. Мы знаем, что эта новая система пытается быть более безопасной, но это не работает для того уровня контроля, который он хотел бы.
Я нашел следующий код в своем поиске решения для отключения этих электронных писем, но я думаю, что они отключают уведомления только в том случае, если электронная почта пользователя ИЗМЕНЕНА для ранее зарегистрированных пользователей, а не при ее создании:
add_filter( 'send_password_change_email', '__return_false');
add_filter( 'send_email_change_email', '__return_false');
Кто-нибудь знает, как отключить эти электронные письма с начальным паролем, отправленные после регистрации?
Спасибо.
источник
add_filter( 'user_registration_email', '__return_false');
Ответы:
Вы можете перехватить это письмо, прежде чем оно будет отправлено с помощью
phpmailer_init
хука.По умолчанию этот хук срабатывает перед отправкой любого электронного письма. В приведенной ниже функции
$phpmailer
будет экземпляр PHPMailer , и вы можете использовать его методы для удаления получателя по умолчанию и манипулирования электронной почтой до ее отправки.источник
На самом деле это зависит от того, как вы создаете нового пользователя. Если вы делаете это из администрации - Пользователи - Добавить новое, вы правы. В 4.3, к сожалению, вы не можете отключить отправку уведомлений по электронной почте. Но если вы действительно хотите создать нового пользователя без электронной почты, есть способ.
Вы можете создать небольшой плагин, чтобы создать новую учетную запись самостоятельно с помощью
wp_insert_user
функции, которая по умолчанию не отправляет никаких писем.Эта функция может быть вызвана следующим образом.
Где
userdata
параметр является массивом, где вы можете передать всю необходимую информацию.Для получения дополнительной информации проверьте кодекс здесь .
источник
wp_new_user_notification
Функция коммутации, так что вы можете изменить его, определив свой собственный. Вы должны быть в состоянии скопировать всю функцию изwp-includes/pluggable.php
в ваш плагин (илиfunctions.php
) и удалить строку, которая рассылает письмо.источник
Чтобы решить эту проблему в вашей теме, создайте новый mu-плагин , создав новый файл
wp_new_user_notifications.php
(имя зависит от вас) и поместите его вwp-content/mu-plugins
папку. Если такой папки нет, создайте ее. Не забудьте поместить файл php непосредственно в папку, а не в любую подпапку.Затем продолжите, как предложил Саймон, - скопируйте
wp_new_user_notifications.php
метод изwp-includes/pluggable.php
вашего новогоwp_new_user_notifications.php
файла и измените, если необходимо.Чтобы ответить на ваш вопрос: для отключения исходного пароля электронной почты достаточно удалить последний
wp_mail
вызов метода.источник
Работает. Но важно, чтобы он добавлялся в плагин самостоятельно, а не functions.php для темы.
Подобно.
источник