WordPress at a glance

grant_super_admin() WP 1.0

Grants Super Admin privileges.

  • Global. Array. $super_admins
Works based on: update_site_option()
Hooks from function:
Return

true/false. True on success, false on failure. This can fail when the user is already a super admin or when the $super_admins global is defined.

Usage

grant_super_admin( $user_id );
$user_id(int) (required)
ID of the user to be granted Super Admin privileges.

Code of grant_super_admin: wp-includes/capabilities.php VER 4.9.8

<?php
function grant_super_admin( $user_id ) {
	// If global super_admins override is defined, there is nothing to do here.
	if ( isset( $GLOBALS['super_admins'] ) || ! is_multisite() ) {
		return false;
	}

	/**
	 * Fires before the user is granted Super Admin privileges.
	 *
	 * @since 3.0.0
	 *
	 * @param int $user_id ID of the user that is about to be granted Super Admin privileges.
	 */
	do_action( 'grant_super_admin', $user_id );

	// Directly fetch site_admins instead of using get_super_admins()
	$super_admins = get_site_option( 'site_admins', array( 'admin' ) );

	$user = get_userdata( $user_id );
	if ( $user && ! in_array( $user->user_login, $super_admins ) ) {
		$super_admins[] = $user->user_login;
		update_site_option( 'site_admins' , $super_admins );

		/**
		 * Fires after the user is granted Super Admin privileges.
		 *
		 * @since 3.0.0
		 *
		 * @param int $user_id ID of the user that was granted Super Admin privileges.
		 */
		do_action( 'granted_super_admin', $user_id );
		return true;
	}
	return false;
}

Related Functions

From tag: Roles capabilities

More from category: Multisite

No comments
    Hello, !     Log In . Register