Comment vérifier le rôle de l'utilisateur sans utiliser current_user_can ()

4

Je filtre la fonction map_meta_cap (), appelée à partir de $ user- > has_cap (appelée à partir de current_user_can ()). Je veux que mon filtre ne s'exécute que si l'utilisateur actuel est un administrateur. J'ai donc besoin d'un conditionnel dans mon filtre pour vérifier son rôle.

Je ne peux pas utiliser current_user_can (), car cela appelle mon filtre, ce qui provoque une boucle infinie.

Existe-t-il un moyen fiable de vérifier si une personne est administrateur sans utiliser current_user_can ()?

    
posée jessica 26.01.2011 - 20:59

1 réponse

5

Vous pouvez vérifier la variable $current_user pour déterminer le rôle.

Je pense que cela devrait être réalisable après init (et peut-être même init) pour un utilisateur connecté, un visiteur invité n'aura évidemment aucune donnée associée à lui pour l'instant (donc ce sera vide / non défini).

Vous pouvez également appeler get_currentuserinfo() pour renseigner $current_user var, mais je n'ai personnellement jamais trouvé de besoin lorsque j'ai appelé $current_user après init (mais je suis sûr qu'il peut arriver que vous ayez à appeler il est donc lié ci-dessous pour référence).

enlace

    
réponse donnée t31os 27.01.2011 - 01:52

Lire d'autres questions sur les étiquettes