revoke_super_admin()
Revokes Super Admin privileges.
Хуки из функции
Возвращает
true|false. True on success, false on failure. This can fail when the user's email is the network admin email or when the $super_admins global is defined.
Использование
revoke_super_admin( $user_id );
- $user_id(int) (обязательный)
- ID of the user Super Admin privileges to be revoked from.
Заметки
- Global. Массив. $super_admins
Список изменений
| С версии 3.0.0 | Введена. |
| С версии 6.9.0 | Super admin privileges can be revoked regardless of email address. |
Код revoke_super_admin() revoke super admin WP 6.9
function revoke_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's Super Admin privileges are revoked.
*
* @since 3.0.0
*
* @param int $user_id ID of the user Super Admin privileges are being revoked from.
*/
do_action( 'revoke_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 ) {
$key = array_search( $user->user_login, $super_admins, true );
if ( false !== $key ) {
unset( $super_admins[ $key ] );
update_site_option( 'site_admins', $super_admins );
/**
* Fires after the user's Super Admin privileges are revoked.
*
* @since 3.0.0
*
* @param int $user_id ID of the user Super Admin privileges were revoked from.
*/
do_action( 'revoked_super_admin', $user_id );
return true;
}
}
return false;
}