WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

wp_new_user_notification_email хук-фильтр . WP 4.9.0

Позволяет изменить содержимое письма, отправляемое новому пользователю при регистрации.

Использование

add_filter( 'wp_new_user_notification_email', 'filter_function_name_1306', 10, 3 );
function filter_function_name_1306( $wp_new_user_notification_email, $user, $blogname ){
	// Изменяем что-либо...

	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://site.ru/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;
}

Где вызывается хук

wp_new_user_notification()
wp_new_user_notification_email
wp-includes/pluggable.php 1931
$wp_new_user_notification_email = apply_filters( 'wp_new_user_notification_email', $wp_new_user_notification_email, $user, $blogname );

Где используется хук (в ядре WP)

Не используется.
campusboy 3081youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7144
Комментариев нет
Здравствуйте, !     Войти . Зарегистрироваться