You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过短代码获取WordPress当前登录用户的角色名称

获取WordPress当前登录用户的角色名称(替代Slug)

你当前的代码返回的是角色的slug,要获取角色的正式名称,需要借助WordPress的get_role()函数获取完整角色对象,再从中提取名称。修改后的代码如下:

function get_user_role() {
    global $current_user;
    $user_roles = $current_user->roles;
    $user_role_slug = array_shift($user_roles);
    
    // 通过slug获取角色对象,进而得到角色名称
    $role_object = get_role($user_role_slug);
    $user_role_name = $role_object ? $role_object->name : '无角色';
    
    return $user_role_name;
}
add_shortcode('display_user_role', 'get_user_role');

关键说明:

  • get_role($user_role_slug):传入角色slug,返回对应的WP_Role对象,该对象包含角色的名称、权限等完整信息
  • 增加了$role_object ? ... : '无角色'的判断,避免用户无角色时出现报错
  • 保留了你原代码中取第一个角色的逻辑,适配多数单角色场景需求

内容的提问来源于stack exchange,提问作者Krishna Hoccane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 10:37:01