Necesito obtener el rol asociado con un usuario, no el "usuario actualmente conectado".
Estoy usando Buddypress (no debería importar la naturaleza de esta pregunta) y estoy al tanto bp_members()
.
¿Cómo puedo recuperar el rol del usuario sobre el que estoy informando en el bucle en un momento dado?
Gracias.
user-roles
frank13
fuente
fuente
Si
bp_members
devuelve una matriz deWP_User
objetos, cada uno debe tener una propiedadroles
que contenga una matriz de los roles de los usuarios.De lo contrario, puede usar
get_user_meta
la clavewp_capabilities
, que devolverá una matriz derole => capability
pares:fuente
$user->ID
papel de. Solo un rol, ya que no hay usuarios en nuestro sistema, se les asigna más de 1 rol.$roles[0]
, hecho.Según tengo entendido, probablemente cambió con los años, ahora no lo es
'wp_capabilities'
. Miré los archivos principales de WP, cómo lo hacen ahora, y encontré una nueva solución para esto. Aquí está el código que uso ahora:$cap
luego viene como una matriz asociativa, por ejemplo:o
Entonces, en su caso, probablemente debería obtener las claves de la matriz:
y luego obtener todo de él. Necesitaba ver si el usuario tenía el rol de administrador, así que verifiqué:
Tenía una identificación de usuario, no todo el
WP_User
objeto, y no quería usar ninguna solución que creara eluser
objeto. Como verifiqué,get_user_meta
va directamente a la base de datos para verificar este parámetro exacto, por lo que esta debería ser la ruta más rápida y en cuanto a recursos.fuente