WordPress 用户角色与权限管理:精细化访问控制

WordPress 内置了完整的用户角色和权限系统。了解如何自定义角色和权限,是构建多用户网站、会员系统和内容管理平台的基础。

内置用户角色

超级管理员——多站点网络的最高权限;管理员——单站点最高权限,可管理所有内容和设置;编辑——可发布和管理所有文章,包括他人的;作者——可发布和管理自己的文章;投稿者——可撰写文章但需审核才能发布;订阅者——只能管理个人资料。

创建自定义角色

使用 add_role() 创建新角色:add_role('content_manager', '内容管理员', array('read'=>true,'edit_posts'=>true,'publish_posts'=>true,'edit_others_posts'=>true,'delete_posts'=>false));。在 after_switch_theme 或插件激活钩子中调用,避免重复创建。

修改现有角色权限

使用 get_role() 获取角色对象,然后 add_cap() 或 remove_cap():$role = get_role('editor'); $role->add_cap('manage_options'); $role->remove_cap('delete_others_posts');

自定义权限(Capability)

创建自定义权限用于精细化控制:add_role('vip_member', 'VIP会员', array('read'=>true,'access_vip_content'=>true));。在代码中检查:if(current_user_can('access_vip_content')){ // 显示 VIP 内容 }

总结

合理设计用户角色和权限是多用户 WordPress 网站的安全基础。遵循最小权限原则,只给用户完成工作所需的最低权限。

评论
暂无评论