is_super_admin( int $user_id = false )

Determine if user is a site admin.


Description Description


Parameters Parameters

$user_id

(int) (Optional) (Optional) The ID of a user. Defaults to the current user.

Default value: false


Top ↑

Return Return

(bool) True if the user is a site admin.


Top ↑

Source Source

File: wp-includes/capabilities.php

function is_super_admin( $user_id = false ) {
	if ( ! $user_id || $user_id == get_current_user_id() ) {
		$user = wp_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 ) ) {
			return true;
		}
	} else {
		if ( $user->has_cap( 'delete_users' ) ) {
			return true;
		}
	}

	return false;
}

Top ↑

Changelog Changelog

Changelog
Version Description
3.0.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex

    Example

    <?php
    // Removes the "Edit" menu for users who are not Super Admins of a multisite network
    if ( ! is_super_admin() ) {
    	add_action( 'admin_init', 'wpdocs_remove_edit_menu' );
    }
    
    /**
     * Remove the profile editing link for non-super admins.
     */
    function wpdocs_remove_edit_menu() {
    	remove_menu_page('edit.php');
    }
    ?>
    
    

You must log in before being able to contribute a note or feedback.