默认角色权限对比表
| 角色 | 权限级别 | 核心权限 | 主要限制 |
|---|---|---|---|
| 超级管理员 | 最高 | 管理整个多站点网络 | 仅多站点可用 |
| 管理员 | 很高 | 完全控制单站点 | 无实际限制 |
| 编辑 | 高 | 管理所有内容 | 不能改主题/插件 |
| 作者 | 中 | 管理自己的内容 | 不能管理他人内容 |
| 投稿者 | 低 | 撰写草稿 | 不能发布/上传文件 |
| 订阅者 | 最低 | 阅读内容 | 只能看,不能写 |
🎯 核心能力说明
超级管理员 (Super Admin)
- 仅存在于WordPress多站点网络
- 可管理网络中的所有站点
- 可管理网络用户、主题、插件
- 可创建和删除站点
管理员 (Administrator)
- 单站点最高权限
- 可管理:主题、插件、用户、设置
- 拥有150+个权限
- 可执行所有操作
编辑 (Editor)
- 可管理所有文章和页面
- 可审核、发布、删除内容
- 可管理分类和标签
- 可管理评论
- 不能:修改主题、插件、用户、设置
作者 (Author)
- 可撰写、发布、删除自己的文章
- 可上传媒体文件
- 可管理自己的内容
- 不能:编辑他人内容、管理页面
投稿者 (Contributor)
- 可撰写文章草稿
- 可删除自己的草稿
- 不能:发布文章、上传文件
- 文章需编辑审核后才能发布
订阅者 (Subscriber)
- 可登录网站
- 可更新个人资料
- 可阅读受保护内容
- 最基本权限角色
💡 实际应用场景
博客/新闻网站
- 管理员:技术负责人
- 编辑:主编/内容总监
- 作者:专栏作家/记者
- 投稿者:实习记者/自由撰稿人
- 订阅者:注册读者
企业网站
- 管理员:IT部门
- 编辑:市场部经理
- 作者:部门员工
- 投稿者:外包撰稿人
- 订阅者:客户/合作伙伴
电子商务网站
- 管理员:店主
- 编辑:运营经理
- 可创建自定义角色:
- 产品经理:管理产品
- 客服专员:处理订单
- 库存管理:管理库存
🔧 常用代码示例
1. 检查用户权限
// 检查当前用户权限
if ( current_user_can( 'edit_posts' ) ) {
// 用户可以编辑文章
}
// 检查特定角色
$user = wp_get_current_user();
if ( in_array( 'editor', $user->roles ) ) {
// 用户是编辑
}
2. 添加自定义角色
// 创建"项目经理"角色
add_role(
'project_manager',
'项目经理',
array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
'publish_posts' => true,
'edit_pages' => true,
'upload_files' => true,
)
);
3. 修改角色权限
// 给作者添加上传权限
function add_cap_to_author() {
$role = get_role( 'author' );
$role->add_cap( 'upload_files' );
}
add_action( 'init', 'add_cap_to_author' );
🚀 快速设置建议
小型博客
- 自己:管理员
- 合作作者:作者
- 读者:订阅者
企业网站
- IT人员:管理员
- 市场部:编辑
- 其他员工:投稿者
- 客户:订阅者
多作者平台
- 技术:管理员
- 主编:编辑
- 签约作者:作者
- 新手作者:投稿者
- 会员:订阅者
⚠️ 安全注意事项
- 最少权限原则:只给必要的权限
- 定期审查:检查用户权限分配
- 管理员控制:限制管理员数量
- 离职处理:及时移除离职员工权限
- 密码安全:强制使用强密码
🔄 最佳实践
- 创建自定义角色替代修改默认角色
- 使用用户组管理相似权限用户
- 记录权限变更便于审计
- 测试权限确保功能正常
- 备份设置防止意外丢失
📱 插件推荐
- User Role Editor – 角色编辑
- Members – 权限管理
- User Switching – 用户切换
- Adminimize – 后台定制
- PublishPress Capabilities – 专业权限管理
💎 总结要点
- 了解6个默认角色及其权限层级
- 根据实际需求分配合适角色
- 遵循”最小必要权限”原则
- 定期审计用户权限设置
- 使用自定义角色满足特殊需求
- 结合插件扩展功能
WordPress用户角色系统提供了灵活的内容管理和协作框架,正确使用可以大幅提高网站安全性和工作效率。


湘公网安备43020002000238