KakapoWP KakapoWP
Roles

Members 与 Kakapo Roles 对比:管理真正靠得住的权限

2026年7月31日·阅读时间:7 分钟

衡量一款权限插件只看一个问题:即使没有人在后台点来点去,这项权限是否依然有效?许多名为“隐藏”的功能只改变了视图——数据依然公开,只差一次 REST API 调用。本次对比就按这一点来梳理 Members 和 Kakapo Roles。

简短的回答

Members 是一款成熟的免费权限插件:创建和编辑角色、分配权限、按角色保护内容。它轻量、普及,足以应付大多数简单场景。

Kakapo Roles 从更深一层入手。它不仅管理角色和权限,还管理用户在后台究竟能看到什么——后台菜单、媒体库、小工具、简码——并且明确地在 REST API 中同样强制执行可见性规则。此外还有变更记录、已删除角色的回收站以及导入/导出。

简而言之:只想创建角色、保护内容的人,用 Members 就能走得很远,而且分文不花。想给客户一个整洁的后台、以可追溯的方式记录权限,或者想避免规则只作用于界面的人,选 Kakapo Roles 更合适。

两者都能做到的

到这里为止,选哪个都只是个人偏好。再往下才有意思。

两者的区别在哪里

问题MembersKakapo Roles
价格免费付费插件,一个许可证涵盖九款
文章权限在 REST API 中同样生效需核实是,明确强制执行
按角色隐藏后台菜单需借助扩展内置
媒体库仅显示自己的文件需借助扩展内置
按角色设置小工具和导航菜单—内置
按角色允许使用简码—内置
按角色设置登录后跳转—内置
已删除角色的回收站—是,可恢复
变更记录—是,记录谁在何时更改了哪项权限
权限的导入与导出—是,以文件形式
防止权限提升需核实遵循 get_editable_roles,多站点网络中同样如此
多个网站每个网站单独处理远程状态,一个许可证涵盖所有网站

真正要紧的区别:隐藏不等于锁定

如果一篇文章应当“仅对特定角色”可见,有两种实现方式。一种是在列表和前台中将其隐藏。另一种是拒绝访问——在任何地方,包括没人点击的地方。

这一区别绝非细枝末节。WordPress 的 REST API 默认可以访问;调用 /wp-json/wp/v2/posts 无需登录即可获得 JSON 格式的文章。只改变视图的规则在那里毫无作用——原本“仅限会员”的内容,会以明文形式出现在响应中。

因此,Kakapo Roles 在 REST API 中同样强制执行可见性规则。正是这一点,让权限插件变得可以检验:在退出登录的状态下,以 JSON 形式访问一次你受保护的地址。如果内容出现在那里,这条规则就什么也没保护。

这项测试适用于任何插件,包括你正在使用的那一款:保护一篇文章,退出登录,访问 /wp-json/wp/v2/posts?search=…。只需一分钟,它能回答的问题比任何功能清单都多。

第二个陷阱:谁可以分配权限?

一款权限插件如果允许任何能访问其界面的人给自己更多权限,就等于自我否定。WordPress 为此设有一个钩子:get_editable_roles() 决定了一个人究竟可以编辑哪些角色。绕过它的插件,恰恰打开了它本应关闭的那条路。

在多站点网络中,还多了一个问题:在那里,角色有一部分是全网络共用的。从某个子站点覆盖它们的人,会改变所有站点上的角色。Kakapo Roles 两者都会顾及——这个钩子,以及站点与网络之间的边界。

何时 Members 是更好的选择

何时 Kakapo Roles 是更好的选择

切换:需要做什么

  1. 记下现有哪些自定义角色以及各自附带哪些权限——截一张权限矩阵的图就够了。
  2. 做一次备份。权限存放在数据库中,一次失误会同时波及所有用户。
  3. 安装 Kakapo Roles 并填入许可证密钥。
  4. 重建这些角色,并将权限矩阵与你的记录逐行对比。
  5. 为每个角色使用一个测试用户登录,查看该用户实际能看到什么。
  6. 对一项受保护的内容进行 REST 测试。
  7. 在此之后再停用旧插件——不要删除,保留两周。
同时使用两款权限插件是一种糟糕的状态:两者会写入相同的角色,谁最后保存,谁就说了算。尽量缩短过渡期,并且在此期间只在其中一款中进行改动。

常见问题

Kakapo Roles 会接管我现有的角色吗?
它会像任何权限插件一样读取这些角色:角色是 WordPress 的设置,并不归插件所有。因此,在 Members 中创建的自定义角色会保留下来,并且可以继续编辑。不会迁移过来的,是保存在旧插件中的设置。
删除插件后,我的角色会怎样?
什么都不会发生。角色保留在数据库中由 WordPress 管理的位置。卸载时插件是否还要清理自身的设置,由你在“你的数据”(德语:„Deine Daten“)中决定。
我能找回已删除的角色吗?
能,回收站就是为此而设的。它会保留已删除的角色及其权限,直到你将其彻底移除——删除角色这种事,很少是从容不迫地完成的。
限制在前台也会生效吗?
会,这正是关键所在。只过滤后台列表的规则,挡不住直接调用。用上面的 REST 测试检查一下。
没有有效许可证时会怎样?
现有的角色和权限保持不变——它们属于 WordPress。管理功能会暂停,直到重新填入有效的密钥。

Kakapo Roles —— 付费一次,永久使用。

九个插件一次性 149 €,而不是每月 13 €。通过 Stripe 安全支付。前 14 天:问题解决,否则退款。

获取终身版 所有功能
继续阅读

你可能也会对这个感兴趣。

所有文章