Как изменить шаблон email для нового пользователя
Когда я добавляю нового клиента, письмо отправляется новому пользователю в таком формате:
От: WordPress [wordpress@siteurl.com]
Тема: [название сайта] Ваше имя пользователя и пароль
Сообщение:
имя пользователя: user
Пароль: password
siteurl.com/wp-login.php
Теперь я хочу изменить этот формат следующим образом:
От: Название Моего Сайта [info@siteurl.com]
Тема: siteurl.com аккаунт клиента активирован
Сообщение:
Ваш аккаунт клиента был активирован.
Ваши учетные данные для входа:
Имя пользователя: email пользователя
Пароль: пароль
Спасибо,
abcd
Я пробовал использовать этот ответ, но он не работает.
Как я могу это сделать?

Для пользователей с 2018 года и позднее:
Ответ Дэвида Гарда по-прежнему работает, но он устарел, и теперь есть новый, более удобный и чистый способ сделать это (теперь не нужен плагин).
Начиная с WordPress 4.9.0 появились новые фильтры для настройки писем о регистрации:
- wp_new_user_notification_email — настройка письма, отправляемого пользователю
- wp_new_user_notification_email_admin — настройка письма, отправляемого администратору
Пример использования для письма администратору (этот код можно вставить в файл functions.php вашей темы):
add_filter( 'wp_new_user_notification_email_admin', 'custom_wp_new_user_notification_email', 10, 3 );
function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$wp_new_user_notification_email['subject'] = sprintf( '[%s] Новый пользователь %s зарегистрирован.', $blogname, $user->user_login );
$wp_new_user_notification_email['message'] = sprintf( "%s ( %s ) зарегистрировался в вашем блоге %s.", $user->user_login, $user->user_email, $blogname );
return $wp_new_user_notification_email;
}

Письмо с уведомлением о новом пользователе создается и отправляется функцией wp_new_user_notification()
, которая находится в файле wp-includes/plugable.php.
В этой функции нет фильтров (хуков), которые позволили бы вам изменять содержимое письма, однако вы можете переопределить любую "pluggable" функцию с помощью плагина.
Примечание - Переопределять "pluggable" функции можно только из плагина, но не из темы.
Подробнее о "pluggable" функциях и полный их список можно найти здесь - http://codex.wordpress.org/Pluggable_Functions
Этот код создаст плагин, который будет использоваться вместо функции из wp-includes/plugable.php (сохраните его в отдельном файле в wp-content/plugins/).
Я не настраивал его специально для вас, но это поможет вам начать работу.
<?php
/**
* Plugin Name: Кастомное письмо уведомления о новом пользователе
* Description: Переопределяет "pluggable" функцию 'wp_new_user_notification()' для отправки кастомного письма
* Author: David Gard
* Version: 1.0
*/
if ( !function_exists('wp_new_user_notification') ) :
/**
* Pluggable - Отправка учетных данных новому пользователю
*
* Уведомление о регистрации нового пользователя также отправляется на email администратора.
*
* @since 2.0.0
*
* @param int $user_id ID пользователя.
* @param string $plaintext_pass Опционально. Пароль пользователя в открытом виде. По умолчанию пустая строка.
*/
function wp_new_user_notification($user_id, $plaintext_pass = ''){
$user = get_userdata($user_id);
// Опция blogname экранируется с помощью esc_html при сохранении в базу данных в sanitize_option
// нам нужно вернуть оригинальное значение для использования в тексте email.
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$message = sprintf(__('Новая регистрация пользователя на вашем сайте %s:'), $blogname) . "\r\n\r\n";
$message .= sprintf(__('Логин: %s'), $user->user_login) . "\r\n\r\n";
$message .= sprintf(__('Email: %s'), $user->user_email) . "\r\n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] Новая регистрация пользователя'), $blogname), $message);
if ( empty($plaintext_pass) )
return;
$message = sprintf(__('Логин: %s'), $user->user_login) . "\r\n";
$message .= sprintf(__('Пароль: %s'), $plaintext_pass) . "\r\n";
$message .= wp_login_url() . "\r\n";
wp_mail($user->user_email, sprintf(__('[%s] Ваш логин и пароль'), $blogname), $message);
}
endif;

Если вы говорите о настройке мультисайта, это можно настроить через шаблон, который хранится в базе данных в двух разделах:
Приветственное письмо
и
Приветственное письмо пользователю
http://yoursite/wp-admin/network/settings.php
Вы можете настроить его по своему усмотрению.
