Flector

Как отправить email пользователю при смене его роли?

Полученный email при смене роли

WordPress никак не уведомляет пользователей о том, что их роль на сайте была изменена. Поэтому после смены роли пользователя администратор должен самостоятельно сообщить пользователю о том, что его роль изменена. Это можно исправить, заставив движок автоматически рассылать подобные уведомления. Для этого вам необходимо добавить в файл functions.php вашей темы такой код:

//отсылка email при смене роли пользователей start
function wph_email_new_role($user_id, $new_role) {
    global $wp_roles;
    $role_name = translate_user_role($wp_roles->roles[$new_role]['name']);
    $site_url = get_bloginfo('url');
    $user_info = get_userdata($user_id);
    $to = $user_info->user_email; 
    $subject = "Ваша роль на сайте ".$site_url." изменена.";
    $message = "Привет, ".$user_info->display_name."!".PHP_EOL. 
    "Ваша роль на сайте ".$site_url." была изменена."; 
    $message .= "Теперь ваша роль: ".$role_name;
    wp_mail($to, $subject, $message);
}
add_action('set_user_role', 'wph_email_new_role', 10, 2);
//отсылка email при смене роли пользователей end

Это самый простой шаблон письма, который вы, конечно, можете изменить.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!