【问题标题】:WordPress has removed the administrator role from all administrator users but only on serverWordPress 已从所有管理员用户中删除了管理员角色,但仅在服务器上
【发布时间】:2022-01-01 01:04:48
【问题描述】:

我遇到了管理员用户无法添加管理员级别用户的问题。

查看并调试核心 get_editable_roles 我发现管理员用户上限 ($user->caps) 具有管理员但用户角色 ($user->roles) 没有管理员值。

这只发生在我们的服务器上,包括登台和生产,但在本地运行良好。三个系统上的安装、插件、数据库完全相同。

我已使用用户角色编辑器确认已设置管理员角色。它也没有显示在那里,我尝试添加它,它说它已经存在。我修改了editable_users 过滤器以跳过删除管理员角色,它再次出现,但看起来很好,所有内容都已检查。保存它没有任何作用。

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    原来是一个插件,经过大量故障排除后发现。奇怪的本地与服务器差异是因为本地不存在用于监视的 New Relic 扩展,因此插件中的某些逻辑没有运行。

    我没想到插件可以做到这一点,期待核心或配置问题。但是在调用 wp_get_current_user 之后,您将获得全局 $current_user 实例,并且可以更改 $current_user->roles 数组,这可能会导致任何其他插件、主题或网站出现意外行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      • 2021-04-04
      • 2017-02-15
      相关资源
      最近更新 更多