如果你的 WordPress 角色或用户权限被删除或损坏,可以使用 WP-CLI 恢复 WordPress 用户角色和权限

第 1 步 – 通过 SSH 连接

通过 SSH 连接到你的账户 并打开安装 WordPress 的目录。对于大多数域名,它是 public_html 文件夹,使用以下命令进入路径:

cd ~/domains/domain.tld/public_html

请将 domain.tld 替换为你的域名。

第 2 步 – 检查现有用户角色与权限

检查角色

在做任何更改前,应先检查现有角色,看是否需要重置。使用以下命令:

wp role list

WordPress 有五个预定义角色:Administrator、Editor、Author、Contributor 和 Subscriber。WordPress 多站点网络还有一个额外的 Super Admin 角色。

你的网站插件可能创建额外角色。例如,WooCommerce 用户可能会发现网站上有额外的 “Customer”“Shop Manager” 角色。

检查权限

如果所有默认用户角色都存在,应验证其权限是否正确分配。使用以下命令:

wp cap list administrator

要检查其他角色,只需将 administrator 替换为要检查的角色名称。

如果输出为空或缺少必要权限,说明你的用户角色可能已损坏。请参阅 WordPress 角色与权限文档 了解每个角色的默认权限完整列表。

第 3 步 – 将角色与权限重置为默认设置

如果任何默认角色或其权限缺失,可以使用 WP-CLI 重置它们。要重置 administrator 角色及其权限,使用以下命令:

wp role reset administrator

要重置其他角色(或其权限),只需将 administrator 替换为要重置的角色名称。

或者,可以使用一条命令 重置所有角色及其权限

wp role reset --all

警告:使用 wp role reset --all 会重置网站上的 所有 角色,包括插件创建的自定义角色。这将移除自定义权限并将角色恢复到默认状态。请谨慎操作,并确保你 有备份

重置后,使用 wp role list 确认所有需要的角色存在。然后,重新运行 wp cap list administrator 检查角色是否已正确恢复权限。

来源:Hostinger 官方帮助文档