Como verificar a função do usuário sem usar current_user_can ()

4

Estou filtrando a função map_meta_cap (), que é chamada de $ user- > has_cap (que é chamada de current_user_can ()). Eu só quero o meu filtro para executar se o usuário atual é um administrador, então eu preciso de um condicional no meu filtro que verifica sua função.

Eu não posso usar current_user_can (), porque isso invoca meu filtro, causando um loop infinito.

Existe uma maneira confiável de verificar se alguém é um administrador sem usar current_user_can ()?

    
por jessica 26.01.2011 / 20:59

1 resposta

5

Você pode verificar a variável $current_user para determinar a função.

Eu acredito que deve ser realiable após o init (talvez mesmo no init) para um usuário logado, um visitante convidado obviamente não terá nenhum dado associado a ele ainda (então estará vazio / não configurado).

Você também pode acessar get_currentuserinfo() para preencher o $current_user var, mas eu pessoalmente nunca encontrei uma necessidade ao chamar $current_user após o init (mas tenho certeza de que pode haver casos em que você precisa ligar então está vinculado abaixo para referência).

enlace

    
por t31os 27.01.2011 / 01:52