is_super_admin()

最后更新于:2021-11-27 11:28:23

is_super_admin( int|false$user_id=false)

Determine if user is a site admin.

参数

$user_id

(int|false) (Optional) The ID of a user. Defaults to false, to check the current user.

Default value: false

响应

(bool) Whether the user is a site admin.

源文件

文件: gc-includes/capabilities.php

function is_super_admin( $user_id = false ) {
	if ( ! $user_id || get_current_user_id() == $user_id ) {
		$user = gc_get_current_user();
	} else {
		$user = get_userdata( $user_id );
	}

	if ( ! $user || ! $user->exists() ) {
		return false;
	}

	if ( is_multisite() ) {
		$super_admins = get_super_admins();
		if ( is_array( $super_admins ) && in_array( $user->user_login, $super_admins, true ) ) {
			return true;
		}
	} else {
		if ( $user->has_cap( 'delete_users' ) ) {
			return true;
		}
	}

	return false;
}
<?php
// Removes the "Edit" menu for users who are not Super Admins of a multisite network
if ( ! is_super_admin() ) {
	add_action( 'admin_init', 'gcdocs_remove_edit_menu' );
}

/**
 * Remove the profile editing link for non-super admins.
 */
function gcdocs_remove_edit_menu() {
	remove_menu_page('edit.php');
}
?>