Vérifier si l'utilisateur courant est administrateur de wordpress
Je développe un plugin pour wordpress, je veux savoir si l'utilisateur courant est administrateur ou non, malheureusement, je ne pouvais pas utiliser le current_user_can (), car il me donne l'erreur, je suis en utilisant le global $current_user. Mais je ne pouvais pas obtenir à l'intérieur de la si, même pour l'utilisateur admin.. Comment pour résoudre ce problème?
global $current_user;
if ($current_user->role[0]=='administrator'){
function hide_post_page_options() {
//global $post;
//Set the display css property to none for add category and add tag functions
$hide_post_options = "<style type=\"text/css\"> .jaxtag { display: none; } #category-adder { display: none; } </style>";
print($hide_post_options);
}
add_action( 'admin_head', 'hide_post_page_options' );
}
Quelle est l'erreur et que faites-vous de la vérification? Êtes-vous à l'aide de la version actuelle de wp? current_user_can('manage_sites') pourrait fonctionner pour les super admins, par exemple. Peut-être que vous êtes en passant une autorisation non valide
Suis Fatal error: Call to undefined function wp_get_current_user() in /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-includes/capabilities.php sur la ligne de 1286 lorsque j'utilise current_user_can.
Avez-vous lu ceci: wordpress.org/support/topic/...
Avez-vous googlé
is_admin() est utile si vous êtes dans le panneau d'admin. Mais pas si vous voulez juste pour vérifier rôles - bien que maintenant que je regarde en arrière sur la question, il semble être l'ajout d'admin css, donc vous avez peut-être droit
Suis Fatal error: Call to undefined function wp_get_current_user() in /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-includes/capabilities.php sur la ligne de 1286 lorsque j'utilise current_user_can.
Avez-vous lu ceci: wordpress.org/support/topic/...
Avez-vous googlé
Check if current user is administrator in wordpress
?is_admin() est utile si vous êtes dans le panneau d'admin. Mais pas si vous voulez juste pour vérifier rôles - bien que maintenant que je regarde en arrière sur la question, il semble être l'ajout d'admin css, donc vous avez peut-être droit
OriginalL'auteur NEO | 2013-11-06
Vous devez vous connecter pour publier un commentaire.
Essayer quelque chose comme ce qui suit:
Lire plus sur le
current_user_can
fonction ici.OriginalL'auteur Sugato
Obtenir de l'utilisateur et de vérifier si elle a le rôle de l'administrateur, comme suit:
OriginalL'auteur Tosh
Cela fonctionne pour moi:
Si ce n'est pas un multi-site, vous pouvez l'utiliser pour détecter un administrateur. Si il est multi-site, cela ne fera que retourner vrai pour un super admin.
if(in_array('administrator', $current_user->roles)) {
est une nouvelle façon de faire la même choseWordPress a vraiment besoin d'une fonction comme is_this_user_admin() - vous pensez que is_admin() serait le faire, mais il n'est pas! C'est peut-être parce qu'ils veulent nous utiliser des rôles à la place, mais is_admin() devrait vraiment être renommé is_dashboard_active() pour plus de clarté.
OriginalL'auteur codewaggle
Je sais que c'est une vieille question, mais je tiens à rendre cette page plus utiles en traitant la question de l'heure. Le réel problème ici est que l'OP n'a pas été en mesure d'utiliser
current_user_can( 'manage_options' )
dans son plugin. À l'aide de la fonction génère l'habitudeundefined function...
d'erreur PHP. Cela se produit parce que le plugin est initialisé avant de WP de base complète de chargement. Correctif est très simple. Le chargement du plugin au bon moment est la clé.En supposant que l'admin plugin code réside à l'intérieur d'une classe
MyPlugin
, l'initialisation de classe doit être branchée àinit
. La suite est un façon de faire.C'est un moyen de s'assurer que wordpress base est disponible pour le plugin de fonction.
Vous pouvez trouver
admin_init
documentation ici.P. S. Vous devriez regarder dans l'aide de PHP HEREDOC. C'est une façon très simple de l'écriture multi-ligne de chaînes. Votre style de bloc peut être réécrite comme suit
J'espère que cela aide quelqu'un.
Grâce.
OriginalL'auteur Ejaz
utiliser ce code, j'espère que cela a résolu votre problème
OriginalL'auteur Yatendra
Trop tard pour une réponse pour cette question, mais je pense qu'il pourrait être utile de toute façon si quelqu'un se termine ici, comme moi.
J'ai besoin d'une solution rapide à ce problème - vérifier si l'utilisateur est admin ou pas.
De la WP codex j'ai une solution simple qui consiste à utiliser..
Selon WP-Codex cette fonction retourne True si l'utilisateur actuellement connecté en réseau (super) admin. Cette fonction renvoie True, même si le mode réseau est désactivé, mais le courant d'utilisateur est admin.
OriginalL'auteur miyaneha
Testé et il fonctionne très bien
OriginalL'auteur Ulrich Dohou
OriginalL'auteur Brad