wp_new_user_notification_email
Позволяет изменить содержимое письма, отправляемое новому пользователю при регистрации.
Использование
add_filter( 'wp_new_user_notification_email', 'wp_kama_new_user_notification_email_filter', 10, 3 );
/**
* Function for `wp_new_user_notification_email` filter-hook.
*
* @param array $wp_new_user_notification_email Used to build wp_mail().
* @param WP_User $user User object for new user.
* @param string $blogname The site title.
*
* @return array
*/
function wp_kama_new_user_notification_email_filter( $wp_new_user_notification_email, $user, $blogname ){
// filter...
return $wp_new_user_notification_email;
}
- $wp_new_user_notification_email(массив)
Массив с данными, передаваемые функции wp_mail(), кроме вложений. Ключи массива:
-
to
Email только что зарегистрированного пользователя. -
subject
Тема письма (заголовок). -
message
Тело письма (содержание, контент). - headers
Заголовки письма, указывающие на его атрибуты.
-
- $user(WP_User)
- Объект WP_User нового пользователя.
- $blogname(строка)
- Название сайта, получаемое через get_option('blogname').
Примеры
#1 Изменим содержимое письма при регистрации пользователя
Пусть у нас есть собственная роль с именем price_list__subscriber, для которой открыт доступ к странице "Прайс-листов". Тогда при регистрации пользователя с такой ролью дефолтное письмо WordPress хорошо бы дополнить информацией об этом.
add_filter( 'wp_new_user_notification_email', 'hpl_user_notification_email', 10, 3 );
/**
* Изменяет содержимое письма, отправляемое при регистрации нового пользователя с определённой ролью.
*
* @param array $email_data
* @param WP_User $user
* @param string $blogname
*
* @return array
*/
function hpl_user_notification_email( $email_data, $user, $blogname ) {
if ( user_can( $user, 'price_list__subscriber' ) ) {
$text = "Вам предоставлен доступ на страницу прайс-листов. \r\n\r\n";
$text .= "Страница находится по адресу http://example.com/price-list/. \r\n\r\n";
$text .= "Временный пароль для входа сгенерирован автоматически, установите свой собственный пароль по ссылке ниже. \r\n\r\n";
$email_data['subject'] = 'Доступ к прайс-листу открыт - ' . wp_specialchars_decode( $blogname );
$email_data['message'] = $text . $email_data['message'];
}
return $email_data;
}
Список изменений
| С версии 4.9.0 | Введена. |
Где вызывается хук
wp_new_user_notification_email
wp-includes/pluggable.php 2410
$wp_new_user_notification_email = apply_filters( 'wp_new_user_notification_email', $wp_new_user_notification_email, $user, $blogname );