is_super_admin( int $user_id = false )
Détermine si l'utilisateur est l'administrateur du site.
Paramètre
$user_id(int)optionnelId de l'utilisateur.
Valeur par défaut : false
Retourne
(bool) True si l'utilisateur est l'administrateur du site.
Déclaration et structure de la fonction is_super_admin()
is_super_admin() est déclarée dans le fichier wp-includes/capabilities.php à la ligne 1075 :
function is_super_admin( $user_id = false ) {
if ( ! $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, true ) ) {
return true;
}
} elseif ( $user->has_cap( 'delete_users' ) ) {
return true;
}
return false;
}
Fonctions utilisées par is_super_admin()
get_super_admins()Retourne une liste des super-admins.
wp_get_current_user()Retourne l'objet de l'utilisateur actuel.
get_userdata()Retourne les infos de l'utilisateur en donnant son id.
is_multisite()Vérifie si le multisite est autorisé.
get_current_user_id()Retourne l'id de l'utilisateur actuel.
Où est utilisée la fonction is_super_admin()
dans le CMS WordPress
Exemples
if ( ! is_super_admin() ) {
add_action( 'admin_init', 'wpdocs_remove_edit_menu' );
}
function wpdocs_remove_edit_menu() {
remove_menu_page('edit.php');
}
if ( current_user_can( 'setup_network' ) ) {
// code ici ...
}
if ( is_super_admin() ) {
$debug_tags = array();
add_action( 'all', function ( $tag ) {
global $debug_tags;
if ( in_array( $tag, $debug_tags ) ) {
return;
}
echo "<pre>" . $tag . "</pre>";
$debug_tags[] = $tag;
} );
}
Sources
Codex WordPress : is_super_admin()
Autres fonctions dans le même fichier : wp-includes/capabilities.php