электронное письмо нового пользователя отправляется с помощью wp_new_user_notification()подключаемой функции, что означает, что вы можете перезаписать его:
// Redefine user notification functionif(!function_exists('wp_new_user_notification')){function wp_new_user_notification( $user_id, $plaintext_pass =''){
$user =new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$message = sprintf(__('New user registration on your blog %s:'), get_option('blogname'))."\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login)."\r\n\r\n";
$message .= sprintf(__('E-mail: %s'), $user_email)."\r\n";@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);if( empty($plaintext_pass))return;
$message = __('Hi there,')."\r\n\r\n";
$message .= sprintf(__("Welcome to %s! Here's how to log in:"), get_option('blogname'))."\r\n\r\n";
$message .= wp_login_url()."\r\n";
$message .= sprintf(__('Username: %s'), $user_login)."\r\n";
$message .= sprintf(__('Password: %s'), $plaintext_pass)."\r\n\r\n";
$message .= sprintf(__('If you have any problems, please contact me at %s.'), get_option('admin_email'))."\r\n\r\n";
$message .= __('Adios!');
wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);}}
@Bainternet Я не могу заставить это работать, я добавил это в свой файл функций, но стандартная электронная почта продолжает отправлять. Я нахожусь на мультисайте, но это не должно иметь значения, верно?
6
Хорошо, получил его сейчас, кажется, он работает только как отдельный плагин, а не когда вы добавляете его в свой functions.phpфайл. Теперь он работает отлично, еще раз спасибо за этот хороший кусок кода!
Это работает и для мультисайта? Я вижу, что мультисайт имеет множество функций внутри ms-functions.php для отправки уведомлений по электронной почте.
Сисир
wpmu_signup_user_notificationЯ думаю, что Multisite использует .
Wyck
Этому ответу несколько лет. Принятый ответ не работает для меня. (Добавление его в functions.php не имеет никакого значения для любых писем, отправляемых при регистрации нового пользователя.) Должен ли я опубликовать новый вопрос?
Кит Джонсон
23
Для пользователей 2018 года и далее:
Начиная с WordPress 4.9.0, для этого можно использовать новые фильтры (больше не требуется плагин):
В качестве альтернативы можно было бы использовать wp_new_user_notification_emailи wp_new_user_notification_email_adminфильтры. Желающие могут проверить всю документацию и исходный код для wp_new_user_notification().
Пит
Спасибо, Пит, похоже, что это было введено в 4.9.0 и выглядит как лучшее решение.
Эду Васс
3
Это не будет работать на functions.php, вам нужно поместить этот код в плагин.
если вы не делаете сейчас плагин для этого просто используйте эту ссылку
не забудьте взять код обновления этой функции здесь
functions.php
файл. Теперь он работает отлично, еще раз спасибо за этот хороший кусок кода!wpmu_signup_user_notification
Я думаю, что Multisite использует .Для пользователей 2018 года и далее:
Начиная с WordPress 4.9.0, для этого можно использовать новые фильтры (больше не требуется плагин):
Пример использования по электронной почте, отправленной администратору (вы можете вставить это в functions.php вашей темы ):
источник
wp_new_user_notification_email
иwp_new_user_notification_email_admin
фильтры. Желающие могут проверить всю документацию и исходный код дляwp_new_user_notification()
.Это не будет работать на functions.php, вам нужно поместить этот код в плагин.
если вы не делаете сейчас плагин для этого просто используйте эту ссылку
не забудьте взять код обновления этой функции здесь
источник