Tengo un requisito bastante específico para mostrar texto diferente en una etiqueta de campo en la página de perfil del usuario en función del rol del usuario actual. Parece que no puedo entender cómo verificar si el uso actual es un "autor".
Estoy buscando una función como:
is_user_in_role($user, "author");
Me imagino que esto es bastante simple, pero he buscado demasiado tiempo sin una respuesta, así que pensé en publicarlo aquí.
wp-admin
users
user-roles
jessegavin
fuente
fuente
Estaba buscando una manera de obtener el rol de un usuario utilizando la identificación del usuario. Esto es lo que se me ocurrió:
Entonces, una
is_user_in_role()
función podría implementarse así:fuente
También puede simplemente crear un nuevo objeto de usuario:
No estoy seguro de qué versión
get_user_roles_by_user_id
se eliminó, pero ya no es una función disponible.fuente
Aquí hay una función que acepta un usuario y un rol para una mayor flexibilidad:
fuente
Las llamadas a roles en User Object
$user->roles
no devuelven todos los roles. La forma correcta de encontrar si el usuario tiene un rol o capacidad es la siguiente. (Esto funciona en wp versión 2.0.0 y superior). La siguiente función funciona con la identificación de usuario, puede obtener la identificación de usuario actual$current_user_id = get_current_user_id();
fuente