web-dev-qa-db-fra.com

si l'administrateur est connecté

Nous savons que is_admin() vérifie si l’URL actuelle appartient à DASHBOARD ( MAIS elle vérifie si l’utilisateur est ADMIN ).

Donc, j'utilise cette fonction pour détecter si l'administrateur est connecté à wordpress:

function is_admin_user(){
  require_once(ABSPATH.'wp-includes/pluggable.php'); return current_user_can('create_users'); //or 'manage_options'
}

cependant, ce n'est pas la solution idéale. Existe-t-il une fonction intégrée, telle que wp_is_administrator()?

7
T.Todua

current_user_can acceptera un nom de rôle mais, malheureusement, le comportement avec les rôles n’est pas tout à fait cohérent .

Ce qui suit devrait fonctionner et est un peu plus simple que ce que vous avez.

$current_user = wp_get_current_user();
if (user_can( $current_user, 'administrator' )) {
  // user is an admin
}
20
s_ha_dum

Il semble que le moyen le plus simple serait en fait d'utiliser current_user_can en tant que tel:

if( current_user_can( 'administrator' ) ){} // only if administrator

Cela semble être un dupliquer .

1
Adal