Как отправить 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 |
Это самый простой шаблон письма, который вы, конечно, можете изменить.