The is_site_admin() WordPress PHP function determines if a user is a site admin.
Usage
$is_admin = is_site_admin( 'example_user' );
Parameters
$user_login(string, optional) – Username for the user to check. Default:''
More information
See WordPress Developer Resources: is_site_admin()
Note: Plugins should use is_multisite() instead of checking if this function exists to determine if multisite is enabled. This function must reside in a file included only if is_multisite() is true due to legacy function_exists() checks to determine if multisite is enabled. See also is_super_admin().
Examples
Check if a user is a site admin
Check if the given user is a site admin and display a message accordingly.
$user_login = 'example_user';
if ( is_site_admin( $user_login ) ) {
echo 'The user is a site admin.';
} else {
echo 'The user is not a site admin.';
}
Display site admin menu
Display a site admin menu if the user is a site admin.
function display_admin_menu( $user_login ) {
if ( is_site_admin( $user_login ) ) {
echo '**Admin Menu**';
}
}
display_admin_menu( 'example_user' );
Restrict access to a page
Restrict access to a page for non-site-admin users.
function restrict_access( $user_login ) {
if ( !is_site_admin( $user_login ) ) {
die( 'Access denied. Only site admins can access this page.' );
}
}
restrict_access( 'example_user' );
Get a list of site admins
Get a list of all users and display the usernames of the site admins.
$all_users = get_users();
foreach ( $all_users as $user ) {
if ( is_site_admin( $user->user_login ) ) {
echo 'Site admin: ' . $user->user_login . '<br>';
}
}
Add a site admin role to a user
Add the site admin role to a user if they are not already a site admin.
function add_site_admin( $user_login ) {
if ( !is_site_admin( $user_login ) ) {
$user = get_user_by( 'login', $user_login );
$user->add_role( 'administrator' );
echo 'User is now a site admin.';
} else {
echo 'User is already a site admin.';
}
}
add_site_admin( 'example_user' );