角色与权限

本文目录

WordPress 使用“角色”概念,旨在让站点所有者能够控制用户在站点内可以和不可以做什么。站点所有者可以通过为每个用户分配特定角色,来管理用户对诸如撰写和编辑文章创建页面创建分类管理评论管理插件管理主题管理其他用户等任务的访问权限。

WordPress 有六个预定义角色:超级管理员管理员编辑作者贡献者订阅者。每个角色都被允许执行一组称为“能力”的任务。有许多能力,包括“publish_posts”、“moderate_comments”和“edit_users”。一组默认的能力预先分配给每个角色,但可以使用add_cap()remove_cap()函数分配或删除其他能力。可以使用add_role()remove_role()函数引入或删除新角色。

超级管理员角色允许用户执行所有可能的能力。其他每个角色的允许能力数量都在减少。例如,订阅者角色只有“read”能力。一个特定角色不应被视为比另一个角色更高级。相反,请考虑角色定义了用户在站点中的职责。

角色概述

  • 超级管理员 – 拥有站点网络管理功能和所有其他功能访问权限的用户。请参阅创建网络文章。
  • 管理员 (slug: ‘administrator’) – 拥有单个站点内所有管理功能访问权限的用户。
  • 编辑 (slug: ‘editor’) – 可以发布和管理文章,包括其他用户文章的用户。
  • 作者  (slug: ‘author’)  – 可以发布和管理自己文章的用户。
  • 贡献者 (slug: ‘contributor’) – 可以撰写和管理自己的文章但无法发布的用户。
  • 订阅者 (slug: ‘subscriber’) – 只能管理自己个人资料的用户。

安装 WordPress 后,会自动创建一个管理员账户。

新用户的默认角色可以在管理界面 > 设置 > 常规中设置。

角色

角色定义了分配该角色的用户被允许执行的一组任务。例如,超级管理员角色包含在虚拟 WordPress 站点网络内可以执行的每一个可能的任务。管理员角色将允许的任务仅限于影响单个站点的任务。另一方面,作者角色只允许执行一小部分任务。

以下部分列出了默认角色及其能力

超级管理员

多站点超级管理员默认拥有所有能力。因此,以下仅限多站点的能力仅对超级管理员可用

在单个 WordPress 安装中,管理员实际上就是超级管理员。因此,他们是唯一有权访问额外管理能力的用户。

管理员

管理员的能力在单个站点和多站点WordPress 安装之间有所不同。所有管理员都具有以下能力

额外管理能力

只有单个站点安装的管理员拥有以下能力。在多站点中,只有超级管理员拥有这些能力

编辑

作者

贡献者

订阅者

特殊情况

以下能力是特殊情况

  • unfiltered_upload – 默认情况下,此能力不适用于任何角色(包括超级管理员)。需要通过定义以下常量来启用此能力
define( 'ALLOW_UNFILTERED_UPLOADS', true );

定义此常量后,单站点安装上的所有角色都可以获得 unfiltered_upload 能力,但只有超级管理员才能在多站点安装上获得此能力。

能力与角色对照表

请注意,管理员的能力在单个站点和多站点WordPress 安装之间有所不同

能力超级管理员管理员编辑作者贡献者订阅者
create_sites (创建站点)xxxxx
delete_sites (删除站点)xxxxx
manage_network (管理网络)xxxxx
manage_sites (管理站点)xxxxx
manage_network_users (管理网络用户)xxxxx
manage_network_plugins (管理网络插件)xxxxx
manage_network_themes (管理网络主题)xxxxx
manage_network_options (管理网络选项)xxxxx
upload_plugins (上传插件)xxxxx
upload_themes (上传主题)xxxxx
upload_network (上传网络)xxxxx
upgrade_network (升级网络)xxxxx
setup_network (设置网络)xxxxx
activate_plugins (激活插件)是 (单站点或

网络设置启用)
xxxx
create_users (创建用户)是 (单站点)xxxx
delete_plugins (删除插件)是 (单站点)xxxx
delete_themes (删除主题)是 (单站点)xxxx
delete_users (删除用户)是 (单站点)xxxx
edit_files (编辑文件)是 (单站点)xxxx
edit_plugins (编辑插件)是 (单站点)xxxx
edit_theme_options (编辑主题选项)xxxx
edit_themes (编辑主题)是 (单站点)xxxx
edit_users (编辑用户)是 (单站点)xxxx
export (导出)xxxx
import (导入)xxxx
install_plugins (安装插件)是 (单站点)xxxx
install_themes (安装主题)是 (单站点)xxxx
list_users (列出用户)xxxx
manage_options (管理选项)xxxx
promote_users (提升用户)xxxx
remove_users (移除用户)xxxx
switch_themes (切换主题)xxxx
update_core (更新核心)是 (单站点)xxxx
update_plugins (更新插件)是 (单站点)xxxx
update_themes (更新主题)是 (单站点)xxxx
edit_dashboard (编辑仪表盘)xxxx
customize (自定义)xxxx
delete_site (删除站点)xxxx
moderate_comments (管理评论)xxx
manage_categories (管理分类)xxx
manage_links (管理链接)xxx
edit_others_posts (编辑他人文章)xxx
edit_pages (编辑页面)xxx
edit_others_pages (编辑他人页面)xxx
edit_published_pages (编辑已发布页面)xxx
publish_pages (发布页面)xxx
delete_pages (删除页面)xxx
delete_others_pages (删除他人页面)xxx
delete_published_pages (删除已发布页面)xxx
delete_others_pos (删除他人文章)xxx
delete_private_posts (删除私人文章)xxx
edit_private_posts (编辑私人文章)xxx
read_private_posts (阅读私人文章)xxx
delete_private_pages (删除私人页面)xxx
edit_private_pages (编辑私人页面)xxx
read_private_pages (阅读私人页面)xxx
unfiltered_html (不过滤HTML)是 (单站点)是 (单站点)xxx
unfiltered_html (不过滤HTML)xxx
edit_published_posts (编辑已发布文章)xx
upload_files (上传文件)xx
publish_posts (发布文章)xx
delete_published_posts (删除已发布文章)xx
edit_posts (编辑文章)x
delete_posts (删除文章)x
read (阅读)

能力

switch_themes (切换主题)

  • 自2.0版本起
  • 允许访问管理界面选项
    • 外观
    • 外观 > 主题

edit_themes (编辑主题)

  • 自2.0版本起
  • 允许访问 外观 > 主题编辑器以编辑主题文件。

edit_theme_options (编辑主题选项)

install_themes (安装主题)

  • 自2.8版本起
  • 允许访问 管理界面选项
    • 外观 > 添加新主题

activate_plugins (激活插件)

edit_plugins (编辑插件)

install_plugins (安装插件)

edit_users (编辑用户)

edit_files (编辑文件)

  • 自2.0版本起
  • 注意:不再使用。

manage_options (管理选项)

  • 自2.0版本起
  • 允许访问 管理界面选项
    • 设置 > 常规
    • 设置 > 撰写
    • 设置 > 阅读
    • 设置 > 讨论
    • 设置 > 固定链接
    • 设置 > 杂项

moderate_comments (管理评论)

  • 自2.0版本起
  • 允许用户从评论屏幕管理评论(尽管用户需要edit_posts能力才能访问此功能)

manage_categories (管理分类)

  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 文章 > 分类
    • 链接 > 分类
  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 链接
    • 链接 > 添加新

upload_files (上传文件)

  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 媒体
    • 媒体 > 添加新

import (导入)

  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 工具 > 导入
    • 工具 > 导出

unfiltered_html (不过滤HTML)

  • 自2.0版本起
  • 允许用户在页面、文章、评论和小工具中发布 HTML 标记甚至 JavaScript 代码。
  • 注意:为不信任的用户启用此选项可能会导致他们发布恶意或格式不佳的代码。
  • 注意:在 WordPress 多站点中,只有超级管理员拥有 unfiltered_html 能力。

edit_posts (编辑文章)

  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 文章
    • 文章 > 添加新
    • 评论
    • 评论 > 等待审核

edit_others_posts (编辑他人文章)

  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 管理 > 评论 (允许用户删除和编辑所有评论,参见上面的 edit_posts)
  • 用户可以通过函数 get_others_drafts() 编辑其他用户的文章
  • 用户可以在内联上传中看到其他用户的图片 [不?参见 inline-uploading.php]
  • 参见例外

edit_published_posts (编辑已发布文章)

  • 自2.0版本起
  • 用户可以编辑他们已发布的文章。此能力默认关闭。
  • 核心会检查 edit_posts 能力,但根据需要,此检查会更改为 edit_published_posts
  • 如果您不希望用户能够编辑他们已发布的文章,请删除此能力。

publish_posts (发布文章)

  • 自2.0版本起
  • 编辑文章时看到并使用“发布”按钮 (否则他们只能保存草稿)
  • 可以使用 XML-RPC 发布 (否则他们会收到“抱歉,您无法在此博客或分类下发布。”)

edit_pages (编辑页面)

  • 自2.0版本起
  • 允许访问 管理界面 选项
    • 页面
    • 页面 > 添加新

read (阅读)

  • 自2.0版本起
  • 允许访问 管理界面 选项
  • 除了 menu.php,在核心代码中没有其他地方使用

publish_pages (发布页面)

  • 自2.1版本起

edit_others_pages (编辑他人页面)

  • 自2.1版本起

edit_published_pages (编辑已发布页面)

  • 自2.1版本起

delete_pages (删除页面)

  • 自2.1版本起

delete_others_pages (删除他人页面)

  • 自2.1版本起

delete_published_pages (删除已发布页面)

  • 自2.1版本起

delete_posts (删除文章)

  • 自2.1版本起

delete_others_posts (删除他人文章)

  • 自2.1版本起

delete_published_posts (删除已发布文章)

  • 自2.1版本起

delete_private_posts (删除私人文章)

  • 自2.1版本起

edit_private_posts (编辑私人文章)

  • 自2.1版本起

read_private_posts (阅读私人文章)

  • 自2.1版本起

delete_private_pages (删除私人页面)

  • 自2.1版本起

edit_private_pages (编辑私人页面)

  • 自2.1版本起

read_private_pages (阅读私人页面)

  • 自2.1版本起

delete_users (删除用户)

  • 自2.1版本起

create_users (创建用户)

  • 自2.1版本起
  • 允许创建新用户。

unfiltered_upload (不过滤上传)

  • 自2.3版本起

edit_dashboard (编辑仪表盘)

  • 自2.5版本起

customize (自定义)

  • 自4.0版本起
  • 允许访问自定义器。

delete_site (删除站点)

  • 自4.0版本起
  • 允许用户删除当前站点(仅限多站点)。

update_plugins (更新插件)

  • 自2.6版本起

delete_plugins (删除插件)

  • 自2.6版本起

update_themes (更新主题)

  • 自2.7版本起

update_core (更新核心)

  • 自3.0版本起

list_users (列出用户)

remove_users (移除用户)

  • 自3.0版本起

add_users (添加用户)

promote_users (提升用户)

  • 自3.0版本起
  • 启用管理用户列表中的“更改角色为…”下拉菜单。
  • 为多站点安装启用“添加现有用户”功能。

delete_themes (删除主题)

  • 自3.0版本起

export (导出)

  • 自3.0版本起

edit_comment (编辑评论)

  • 自3.1版本起

create_sites (创建站点)

  • 自3.1版本起
  • 仅限多站点
  • 允许用户在网络上创建站点

delete_sites (删除站点)

  • 自3.1版本起
  • 仅限多站点
  • 允许用户删除网络上的站点

manage_network (管理网络)

  • 自3.0版本起
  • 仅限多站点
  • 允许访问超级管理员菜单
  • 允许用户升级网络

manage_sites (管理站点)

  • 自3.0版本起
  • 仅限多站点
  • 允许访问网络站点菜单
  • 允许用户在网络中添加、编辑、删除、归档、取消归档、激活、禁用、标记垃圾邮件和取消标记垃圾邮件新站点/博客

manage_network_users (管理网络用户)

  • 自3.0版本起
  • 仅限多站点
  • 允许访问网络用户菜单

manage_network_themes (管理网络主题)

  • 自3.0版本起
  • 仅限多站点
  • 允许访问网络主题菜单

manage_network_options (管理网络选项)

  • 自3.0版本起
  • 仅限多站点
  • 允许访问网络选项菜单

manage_network_plugins (管理网络插件)

upload_plugins (上传插件)

  • 自4.0版本起
  • 仅限多站点
  • 允许用户从 网络插件 -> 添加新菜单上传插件 ZIP 文件

upload_themes (上传主题)

  • 自4.0版本起
  • 仅限多站点
  • 允许用户从 网络主题 -> 添加新菜单上传主题 ZIP 文件

upgrade_network (升级网络)

  • 自4.8版本起
  • 仅限多站点
  • 用于确定用户是否可以访问网络管理中的网络升级页面。与此相关,该能力也用于确定是否显示需要网络升级的通知。该能力未被映射,因此仅授予网络管理员。背景讨论请参见 #39205

setup_network (设置网络)

  • 自4.8版本起
  • 仅限多站点
  • 用于确定用户是否可以设置多站点,即访问网络设置页面。在设置多站点之前,该能力被映射到 `manage_options` 能力,以便授予管理员。一旦设置了多站点,它就被映射到 `manage_network_options`,以便授予网络管理员。背景讨论请参见 #39206

资源

插件

这篇文章有帮助吗?如何改进?

首次发布

最后更新