Eu tenho um requisito bastante específico para mostrar texto diferente em um rótulo de campo na página de perfil do usuário com base na função do usuário atual. Não consigo descobrir como verificar se o uso atual é um "autor".
Estou procurando uma função como:
is_user_in_role($user, "author");
Eu imagino que isso seja bem simples, mas eu procurei por muito tempo sem uma resposta, então pensei em publicá-la aqui.
wp-admin
users
user-roles
jessegavin
fonte
fonte
Eu estava procurando uma maneira de obter a função de um usuário usando o ID do usuário. Aqui está o que eu vim com:
Em seguida, uma
is_user_in_role()
função pode ser implementada da seguinte maneira:fonte
Você também pode apenas criar um novo objeto de usuário:
Não tenho certeza em qual versão
get_user_roles_by_user_id
foi removida, mas não é mais uma função disponível.fonte
Aqui está uma função que aceita um usuário e função para maior flexibilidade:
fonte
As funções de chamada no Objeto
$user->roles
do Usuário não retornam todas as funções. A maneira correta de descobrir se o usuário tem uma função ou capacidade está seguindo. (Isso funciona na versão 2.0.0 e superior do wp.) A função a seguir funciona com o ID do usuário. Você pode obter o ID do usuário atual$current_user_id = get_current_user_id();
fonte