Using WordPress ‘granted_super_admin’ PHP action

The granted_super_admin WordPress PHP action fires after a user is granted Super Admin privileges.

Super admin privileges allow users to access and manage all sites and features on a WordPress multisite network.

Usage

add_action('granted_super_admin', 'your_custom_function', 10, 1);

function your_custom_function($user_id) {
    // your custom code here
}

Parameters

  • $user_id (int): ID of the user that was granted Super Admin privileges.

More information

See WordPress Developer Resources: granted_super_admin

Examples

Send a welcome email to new Super Admins

Send a welcome email to the user after they are granted Super Admin privileges.

add_action('granted_super_admin', 'send_welcome_email_to_super_admin', 10, 1);

function send_welcome_email_to_super_admin($user_id) {
    $user_info = get_userdata($user_id);
    $email_subject = 'Welcome to Super Admin Role';
    $email_body = 'Congratulations! You have been granted Super Admin privileges.';

    wp_mail($user_info->user_email, $email_subject, $email_body);
}

Log Super Admin promotions

Log when a user is promoted to Super Admin in a custom log file.

add_action('granted_super_admin', 'log_super_admin_promotion', 10, 1);

function log_super_admin_promotion($user_id) {
    $user_info = get_userdata($user_id);
    $log_message = sprintf('User %s (ID: %d) was promoted to Super Admin.', $user_info->user_login, $user_id);
    error_log($log_message, 3, '/path/to/your/custom/log/file.log');
}

Notify other Super Admins of new Super Admin

Send an email notification to all existing Super Admins when a new user is granted Super Admin privileges.

add_action('granted_super_admin', 'notify_super_admins_of_new_super_admin', 10, 1);

function notify_super_admins_of_new_super_admin($user_id) {
    $new_super_admin = get_userdata($user_id);
    $super_admins = get_super_admins();

    foreach ($super_admins as $admin) {
        $admin_info = get_user_by('login', $admin);
        if ($admin_info->ID !== $user_id) {
            $email_subject = 'New Super Admin Added';
            $email_body = sprintf('User %s (ID: %d) has been granted Super Admin privileges.', $new_super_admin->user_login, $user_id);
            wp_mail($admin_info->user_email, $email_subject, $email_body);
        }
    }
}

Add a custom role to new Super Admins

Assign a custom role to the user when they are granted Super Admin privileges.

add_action('granted_super_admin', 'add_custom_role_to_super_admin', 10, 1);

function add_custom_role_to_super_admin($user_id) {
    $user = new WP_User($user_id);
    $user->add_role('your_custom_role');
}

Remove specific capabilities from new Super Admins

Remove certain capabilities from a user when they are granted Super Admin privileges.

add_action('granted_super_admin', 'remove_capabilities_from_super_admin', 10, 1);

function remove_capabilities_from_super_admin($user_id) {
    $user = new WP_User($user_id);
    $user->remove_cap('some_capability');
    $user->remove_cap('another_capability');
}