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

如何让WordPress前端仅对shop_manager和editor角色显示后台工具栏?

解决WordPress后台工具栏角色限制问题

嘿,我来帮你调整这段代码!你原来的代码会让所有登录用户都显示WP后台工具栏,现在我们要把它改成只让shop_manager和editor这两个角色可见。

修改后的代码如下:

function admin_bar() {
    // 获取当前登录用户对象
    $current_user = wp_get_current_user();
    
    // 定义允许显示工具栏的角色数组
    $allowed_roles = array('shop_manager', 'editor');
    
    // 检查用户是否登录,且角色在允许列表内
    if (is_user_logged_in() && array_intersect($allowed_roles, $current_user->roles)) {
        add_filter('show_admin_bar', '__return_true', 1000);
    } else {
        add_filter('show_admin_bar', '__return_false', 1000);
    }
}
add_action('init', 'admin_bar');

代码说明:

  • 用wp_get_current_user()获取当前登录用户的详细信息,方便后续角色校验;
  • 定义$allowed_roles数组,把你需要允许的角色明确列出来,后续要调整角色直接修改这个数组就行;
  • 使用array_intersect()函数判断当前用户的角色是否和允许列表有重叠,能精准匹配到目标角色;
  • 保持1000的优先级,确保这段代码的判断逻辑能覆盖其他可能影响工具栏显示的设置。

这样修改后,只有shop_manager和editor角色的用户能看到后台工具栏,其他所有角色(包括普通登录用户)都会被隐藏工具栏啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:37:04