Preciso obter a função associada a um usuário - não o "usuário conectado no momento".
Estou usando o Buddypress (não importa a natureza desta pergunta) e estou no bp_members()
circuito.
Como recuperar o papel do usuário no qual estou relatando no loop a qualquer momento?
Obrigado.
user-roles
frank13
fonte
fonte
Se
bp_members
retornar uma matriz deWP_User
objetos, cada um deverá ter a propriedaderoles
que contém uma matriz das funções dos usuários.Caso contrário, você pode usar
get_user_meta
a chavewp_capabilities
, que retornará uma matriz derole => capability
pares:fonte
$user->ID
papel do. Apenas uma função, como nenhum usuário em nosso sistema, recebe mais de uma função.$roles[0]
, feito.Pelo que entendi, provavelmente mudou ao longo dos anos, agora não é
'wp_capabilities'
. Examinei os arquivos principais do WP, como eles o fazem agora e encontrei uma nova solução para isso. Aqui está o código que eu uso agora:$cap
então vem como uma matriz associativa, por exemplo:ou
Portanto, no seu caso, você provavelmente deve obter as chaves da matriz:
e então obtenha tudo disso. Eu precisava ver se o usuário tem a função de administrador, então verifiquei:
Eu tinha um ID do usuário, não o
WP_User
objeto inteiro , e não queria usar nenhuma solução que pudesse criar ouser
objeto. Como eu verifiquei,get_user_meta
vai direto para o banco de dados para verificar esse parâmetro exato, portanto essa deve ser a rota mais rápida e com mais recursos.fonte