/
/
Get Email Notifications When a New Admin Is Added in WordPress (Easy Guide)

Get Email Notifications When a New Admin Is Added in WordPress (Easy Guide)

If you're managing a WordPress site and care even a little bit about security, this one's for you.

Share

Hey friends! 👋

If you’re managing a WordPress site and care even a little bit about security, this one’s for you.

🔒 Why You Should Care About New Admin Users

In WordPress, users with the Administrator role have full control — they can install plugins, edit themes, delete content, change settings, and even remove other admins. 😳

So imagine someone adds a new admin without you knowing. That’s a big security risk.

✅ What We’re Going to Do

We’ll write a simple code snippet that sends an email notification every time:

  • A new user is registered as an Administrator

  • An existing user’s role is changed to Administrator

This is perfect for WordPress site owners, web developers, security-conscious admins, or even agencies managing client websites.

📜 Code to Send Email Alerts When a New Admin Is Added

Just copy this code and paste it into your theme’s functions.php file or create a mini plugin:

// Notify when a new admin is registered
function notify_on_new_admin_registration($user_id) {
$user = get_userdata($user_id);
if (in_array('administrator', (array) $user->roles)) {
send_admin_alert_email($user);
}
}
add_action('user_register', 'notify_on_new_admin_registration');

// Notify when an existing user's role is changed to admin
function notify_on_admin_role_change($user_id, $old_user_data) {
$user = get_userdata($user_id);
$old_roles = (array) $old_user_data->roles;
$new_roles = (array) $user->roles;

// If user wasn't an admin before, but now is
if (!in_array('administrator', $old_roles) && in_array('administrator', $new_roles)) {
send_admin_alert_email($user);
}
}
add_action('profile_update', 'notify_on_admin_role_change', 10, 2);

// Shared function to send email
function send_admin_alert_email($user) {
$to = 'test1@gmail.com, test2@gmail.com, test3@gmail.com';
$subject = 'Administrator Role Assigned';
$message = "A user has been assigned the Administrator role:\n\n";
$message .= "Username: " . $user->user_login . "\n";
$message .= "Email: " . $user->user_email . "\n";
$message .= "Updated: " . current_time('mysql');

wp_mail($to, $subject, $message);
}

 

📨 Who Gets the Email Notification?

Right now, the email goes to:

You can easily change or add more recipients — just edit the $to variable in the code.

 

⚠️ Bonus Tip: Make Sure WordPress Can Send Emails

Sometimes WordPress email notifications don’t work because your server blocks them or your emails land in spam. To fix this, I highly recommend using the WP Mail SMTP plugin. It connects your WordPress site to Gmail, Outlook, or any SMTP provider so emails send reliably.


🚀 Final Thoughts

This is a simple but powerful trick to keep your WordPress site secure. You’ll always know when a new admin is added — either during registration or by someone editing a user.

No more surprises. No more silent admin access.

Let me know if you want me to turn this into a small plugin for your site. Happy coding! 👨‍💻✨

Featured Articles

If you want to add a product to your Shopify cart automatically when another product is added, and you want the new product to have the same quantity as the first one, this tutorial will show you how.
This time, we’re not just talking about how we built a smart Add to Cart button — we’re showing it with demo links and working code.
If you’re managing a WordPress site and care even a little bit about security, this one’s for you.
Shopify has announced an important update for non-Plus merchants regarding the Thank You and Order Status pages.
When building a WooCommerce store with Elementor and JetEngine by Crocoblock, you might want to display related products dynamically based on the current product’s category.
When working on a Shopify store, sometimes clients forget to grant you access to the domain section. Without access, finding the store URL can be tricky.