您可以通过以下函数获取当前用户角色名称(可翻译名称,但不是slug),只需将当前用户角色slug作为参数传递即可:
function wp_get_current_user_translatable_role_name( $current_user_role_slug = \'\' ) {
$role_name = \'\';
if ( ! function_exists( \'get_editable_roles\' ) ) {
require_once ABSPATH . \'wp-admin/includes/user.php\';
}
// Please note that translate_user_role doesn\'t work in the front-end currently.
load_textdomain( \'default\', WP_LANG_DIR . \'/admin-\' . get_locale() . \'.mo\' );
$editable_roles = array_reverse( get_editable_roles() );
foreach ( $editable_roles as $role => $details ) {
$name = translate_user_role( $details[\'name\'] );
// preselect specified role
if ( $current_user_role_slug == $role ) {
$role_name = $name;
}
}
echo $role_name ;
}
现在,通过以下代码获取当前用户角色slug名称:
$user_meta = get_userdata(get_current_user_id());
$current_user_role_slug = $user_meta->roles[0];
使用
wp_get_current_user_translatable_role_name( $current_user_role_slug );
函数获取当前用户角色名称(可翻译名称,但不是slug)。
注意:用户必须登录才能查看角色名称。