我正在使用本文底部的PHP代码从用户ID获取用户角色。它可以工作,但如果用户角色在注册后发生更改,则会失败。我一直在寻找WordPress是如何改变角色的,以及为什么这会导致下面的代码无法工作,但现在却丢失了。
更新:我得到的错误是
警告:array_key_exists()
参数2应为数组
$user = get_userdata( $user_id );
$capabilities = $user->{$wpdb->prefix . \'capabilities\'};
if ( !isset( $wp_roles ) )
$wp_roles = new WP_Roles();
foreach ( $wp_roles->role_names as $role => $name ) :
if ( array_key_exists( $role, $capabilities ) )
echo $role;
endforeach;