2010-11-08 6 views
28

Je crée mon premier plugin et j'ai une seule fonction qui contrôle la sortie. Cette fonction a une sortie différente selon qu'elle est vue ou non depuis l'administration de WordPress par rapport à l'interface. Existe-t-il un moyen de tester facilement si ma fonction est déclenchée depuis admin par rapport à l'interface?Comment vérifier si actuellement dans Wordpress Admin?

J'ai essayé de vérifier conditionnellement la chaîne de requête par rapport au nom de mon plugin "page" nom mais il semble échouer sur certains serveurs/installations.

Merci

Répondre

53

Duh, c'était trop évident. Pour une raison quelconque, je pensais que cela avait à voir avec un utilisateur admin. if(is_admin()) { ...output my admin stuff....}

http://codex.wordpress.org/Function_Reference/is_admin

+0

Vous pouvez marquer votre propre réponse comme accepté. :) – GmonC

+0

J'avais besoin de la même chose. Je suis tombé pour le même. –

+1

Avertissement d'avertissement Will Robinson: ce code vérifie si vous êtes dans la zone d'administration, PAS si vous êtes connecté en tant qu'admin !! –

19

Si vous voulez savoir si utilisateur actuel ADMIN, alors vous devriez utiliser ceci:

$is_admin = current_user_can('manage_options'); 

Je me suis mal orienté par la réponse ci-dessus, donc une petite note à empêcher les autres de faire la même erreur.

+0

Oui, je pense que cela semble être la bonne chose que même le soutien de Wordpress le rabaisse. –

+2

Si vous ne travaillez pas avec l'utilisateur actuel, vous pouvez utiliser user_can (1, 'manage_options') avec "1" comme identifiant utilisateur. Encore une fois, tout comme "current_user_can()", cela n'a rien à voir avec la vérification de la visualisation et de l'administration de l'utilisateur. –

-3
<?php 
global $current_user; 
get_currentuserinfo(); 
$user_id = $current_user->ID 

//usually admin user id is 1 if its not working check admin user id from wp_users table 
if($user_id == 1) { 
    //write your stuff 
} 
?> 
+2

Je pense que current_user_can() est probablement une méthode plus efficace, probablement pas sage de vérifier les variables globales de WordPress. –

+2

Corriger Brian. Nous ne devrions jamais supposer qu'un identifiant d'utilisateur est un certain utilisateur sans oublier un administrateur. –

11

Notez que is_admin() ne fonctionne que dans le backend. Pour toute partie du plugin qui s'affiche sur le site Web public, vous devez utiliser current_user_can().

if (current_user_can('administrator')) { 
    // your code goes here 
} 
+0

Pouvez-vous s'il vous plaît ajouter une référence pour current_user_can ('administrateur')? 'administrateur' n'est pas listé sur https://codex.wordpress.org/Function_Reference/current_user_can –

Questions connexes