Cómo verificar el rol del usuario sin usar current_user_can ()

4

Estoy filtrando la función map_meta_cap (), que se llama desde $ user- > has_cap (que se llama desde current_user_can ()). Solo quiero que mi filtro se ejecute si el usuario actual es un administrador, por lo que necesito un condicional en mi filtro que verifique su función.

No puedo usar current_user_can (), porque eso invoca mi filtro, causando un bucle infinito.

¿Existe una manera confiable de verificar si alguien es un administrador sin usar current_user_can ()?

    
pregunta jessica 26.01.2011 - 20:59

1 respuesta

5

Puedes verificar la variable $current_user para determinar el rol.

Creo que debería ser realizable después de init (tal vez incluso en init) para un usuario registrado, un visitante invitado obviamente no tendrá ningún dato asociado con él (por lo tanto, estará vacío / sin configurar).

También puede llamar a get_currentuserinfo() para completar el $current_user var, pero personalmente nunca he encontrado una necesidad al llamar a $current_user después de init (pero estoy seguro de que puede haber casos en los que necesite llamar es así, está vinculado a continuación como referencia).

enlace

    
respondido por el t31os 27.01.2011 - 01:52

Lea otras preguntas en las etiquetas