WordPress 的用户角色和权限
像素鱼丸
11-22
84
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 添加文章自定义字段
下一篇

发表评论

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

详解 WordPress 的评论设置

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

wp_handle_comment_submission 函数

wp_handle_comment_submission() 是 WordPress 中用于处理评论提交的核心函数之一。它通常在用户提交评论时被调用,负责验证和处理评论数据,并最终将评论插入到数据库中。 ✅ 函数作用 wp_handle_comment_submission() 的主要功能是: 验证用户提交的评论数据(如评论内容、用户名、邮箱等) 检查是否为垃圾评论(通过 Akismet 或其他过 […]

Mirage 主题 v2.89.0 发布

Mirage 主题 v2.89.0 发布 feat 懒加载图片增加灰色背景颜色 refactor 移除一些无用的js文件 fix 优化卡片列表样式 feat 如果设置里删除logo,就直接显示网站名称 fix 修复pc下拉菜单宽度的一个样式bug fix 修复未登录用户取消喜欢时产生的一个错误 fix 优化 wp_vt_star 表结构 下载地址:https://gitee.com/vthemec […]

WordPress set_transient()使用方法和实现

set_transient() 是 WordPress 中用于设置临时数据的函数,它允许你将数据存储在缓存中,这些数据会在指定的时间后自动过期。它是 WordPress 提供的 transient API 的一部分,常用于缓存数据库查询、API 响应或其他计算密集型操作的结果。 一、基本概念 1. 什么是 Transient? Transient 是 WordPress 中的一种缓存机制,类似于 […]
生成中...
扫描二维码
扫描二维码
用户登录