WordPress 的用户角色和权限
像素鱼丸
11-22
113
0

在 WordPress 中,用户角色(User Roles)和权限(Permissions)是管理网站内容、功能和访问控制的重要机制。WordPress 默认提供了几种不同的用户角色,每个角色拥有不同的权限级别。以下是常见的 WordPress 用户角色及其权限说明:


 一、WordPress 默认的用户角色及权限

角色名称 权限描述 可以执行的操作
管理员(Administrator) 最高权限 管理所有内容、插件、主题、用户、设置等
编辑者(Editor) 编辑和管理文章、页面、评论等 可以编辑其他用户的帖子,但不能安装插件或更改主题
作者(Author) 发布自己的文章 只能发布和编辑自己的文章,不能删除或编辑他人文章
投稿者(Contributor) 提交文章但需审核 只能提交文章,不能发布,需管理员或编辑审核
订阅者(Subscriber) 只能查看和编辑个人资料 无法发布或编辑任何内容

 二、如何使用这些角色

1. 添加或修改用户角色

  • 登录到 WordPress 后台(/wp-admin
  • 进入 用户 > 所有用户
  • 选择某个用户,点击 编辑
  • 角色 下拉菜单中选择新的角色
  • 点击 更新用户

2. 创建自定义角色(高级用法)

如果你需要更细粒度的权限控制,可以通过代码或插件创建自定义角色。

使用代码(通过 functions.php 或插件):


function create_custom_user_role() {
    add_role( 'custom_role', 'Custom Role', array(
        'read' => true,
        'edit_posts' => true,
        'delete_posts' => false,
        // 更多权限...
    ) );
}
add_action( 'init', 'create_custom_user_role' );

注意:不要直接在 functions.php 中写这个代码,除非你了解风险,否则建议使用插件如 User Role EditorMembers


 三、权限控制原理

WordPress 的权限系统基于 Capabilitis(能力),每个角色对应一组能力(capabilities)。例如:

  • administrator 角色拥有所有能力。
  • editor 拥有 edit_posts, publish_posts, delete_posts 等。
  • author 拥有 edit_posts, publish_posts
  • contributor 拥有 edit_posts
  • subscriber 只有 read

你可以通过以下方式检查或修改能力:

使用插件:

  • User Role Editor:可以可视化地修改角色的能力。
  • Members:提供更精细的权限管理。

使用代码:


// 获取当前用户角色
$user = wp_get_current_user();
echo $user->roles[0];
// 检查用户是否有某项能力
if ( current_user_can( 'edit_posts' ) ) {
    echo '用户可以编辑文章';
}

 四、常见问题解答

Q: 如何限制用户只能看到自己的文章?

A: 使用 User Role Editor 插件,设置角色只允许查看自己的文章。

Q: 如何让某些用户只能编辑特定页面?

A: 需要使用插件如 User Access ManagerAdvanced Access Manager 实现。

Q: 如何防止普通用户修改站点设置?

A: 不分配 manage_options 能力给非管理员角色即可。


 总结

角色 权限等级 适用场景
管理员 最高 网站所有者、开发人员
编辑者 内容审核、管理
作者 内容创作者
投稿者 初级内容提交者
订阅者 最低 注册用户,仅查看内容

如果你需要更复杂的权限控制(比如按分类、按页面、按时间等),推荐使用插件如:

  • User Role Editor
  • Members
  • Advanced Access Manager
  • User Capabilities

如果你有具体的使用场景(比如多用户协作、会员系统、企业网站等),我可以为你定制一个角色分配方案

附录

四,WordPress 的权限

管理员

activate_plugins
add_users
create_users
delete_others_pages
delete_others_posts
delete_pages
delete_plugins
delete_posts
delete_private_pages
delete_private_posts
delete_published_pages
delete_published_posts
delete_themes
delete_users
edit_dashboard
edit_files
edit_others_pages
edit_others_posts
edit_pages
edit_plugins
edit_posts
edit_private_pages
edit_private_posts
edit_published_pages
edit_published_posts
edit_theme_options
edit_themes
edit_users
export
import
install_plugins
install_themes
list_users
manage_categories
manage_links
manage_options
moderate_comments
promote_users
publish_pages
publish_posts
read_private_pages
read_private_posts
read
remove_users
switch_themes
unfiltered_html (not with Multisite. See Unfiltered MU)
unfiltered_upload
update_core
update_plugins
update_themes
upload_files

编辑

delete_others_pages
delete_others_posts
delete_pages
delete_posts
delete_private_pages
delete_private_posts
delete_published_pages
delete_published_posts
edit_others_pages
edit_others_posts
edit_pages
edit_posts
edit_private_pages
edit_private_posts
edit_published_pages
edit_published_posts
manage_categories
manage_links
moderate_comments
publish_pages
publish_posts
read
read_private_pages
read_private_posts
unfiltered_html (not with Multisite. See Unfiltered MU)
upload_files

作者

delete_posts
delete_published_posts
edit_posts
edit_published_posts
publish_posts
read
upload_files

投稿人

delete_posts
edit_posts
read

订阅者

read
收藏
打赏
WordPress 用户信息
上一篇
WordPress 添加文章自定义字段
下一篇

发表评论

注册不是必须的

像素鱼丸
150 文章
0 评论
4 喜欢
最新文章

宝塔 Nginx 拦截了 WordPress 返回 404 的状态

REST api 接口中,有段代码返回404,但是没有正常返回错误json: $wp_response = new \WP_REST_Response(array('error'=>'没有找到数据')); $wp_response->set_status(404); return $wp_response; 返回内容是: <html> <head><tit […]

Mirage 主题 v2.93.0 发布

更新内容: refactor 移除图片高宽比开关 refactor 移除全局的TOC生成开关 refactor 优化 header.php 中的seo模块和样式覆盖 feat 主题启用的时候,移除非当前主题注册的小工具 fix 修复分类小工具的bug feat 管理员打开后台,检查最当前设置首页布局的模块,如果缺少最新模块,就添加到隐藏模块列表中 fix 优化链接卡片样式 fix 优化热门文章样式 […]

如何使用 WordPress Setting API

使用 WordPress 的 Setting API 是在插件或主题中创建和管理设置页面的标准方式。它提供了一种结构化、安全的方式来保存和获取用户配置的选项。 ✅ 一、Setting API 简介 WordPress 的 Setting API 允许你: 创建设置页面(Settings Page) 注册设置字段(Settings Field) 验证和保存设置数据 使用表单提交来更新设置 ✅ 二、基 […]

详解 WordPress 的评论设置

好的,我们来详细梳理并总结 WordPress 中关于文章评论的两个核心控制层级:全局设置和单篇设置。理解这两者的关系(优先级)是管理网站评论的关键。 1. 全局设置 (Global Settings) —— 网站的“默认规则” 这是整个网站评论系统的总开关和默认行为准则。它决定了新发布的文章默认是什么样子的。 位置:WordPress 后台仪表盘 -> 设置 (Settings) -> […]
生成中...
扫描二维码
扫描二维码
用户登录