当前位置:网站首页 >  攻略

手把手通过WordPress原生五级权限与插件自定义精准控制后台操作

时间:2026年05月26日 20:32:37 来源:易频IT社区
一、先搞懂原生五级用户权限是什么 (一)权限分级清单 WordPress默认自带5级固定权限层级,权限从低到高、操作范围从窄到宽依次是:
  • 订阅者:只能登录后台修改自己的个人资料(头像、密码、昵称)、查看已发布的公开内容
  • 投稿者:可以撰写、编辑、删除自己的草稿,但不能发布文章/页面,不能上传媒体文件
  • 作者:可以撰写、编辑、删除自己的文章/页面,能发布自己的内容,能上传媒体文件,但不能编辑/删除他人内容
  • 编辑:可以撰写、编辑、删除所有用户的文章/页面、分类、标签,能上传/删除媒体文件,能审核发布投稿者、作者的内容,但不能修改网站设置、用户权限、主题/插件
  • 管理员:拥有网站100%控制权,能操作所有后台功能
(二)查看/修改现有用户权限的原生操作 这步适合临时调整小范围权限,不需要插件: 1. 登录WordPress后台,点击左侧菜单栏的「用户」→「所有用户」 2. 找到要修改的用户,鼠标悬停在用户名上,点击弹出的「编辑」按钮 3. 下拉到页面底部的「角色」选项卡,选择对应的权限层级 4. 点击页面右下角的「更新用户」按钮,权限立即生效 二、通过原生代码自定义精准权限 如果原生五级权限不够用(比如需要给运营岗“可以修改网站公告但不能改主题”的权限),可以用原生代码片段调整,不需要懂复杂编程,直接复制粘贴即可: (一)操作前必做备份 避免代码出错导致后台无法访问,先做2件事: 1. 登录主机控制面板(比如宝塔面板、cPanel),进入网站根目录,找到`wp-config.php`文件,复制一份到本地 2. 在WordPress后台安装并激活「WP Rollback」插件(用于快速回滚主题/插件,这里主要防误操作) (二)添加/修改用户自定义角色的代码 1. 找到代码放置位置 选择以下两种最稳妥的方式之一: - 方式一:主题/子主题的`functions.php`文件(推荐子主题,避免主题更新后代码丢失) - 登录主机控制面板→根目录→`wp-content/themes/你的子主题名称/`→找到`functions.php`→点击编辑 - 方式二:安装并激活「Code Snippets」插件(不用改文件,适合小白) - 后台左侧「插件」→「安装插件」→搜索“Code Snippets”→点击安装→点击激活 - 激活后点击左侧「Snippets」→「Add New」 2. 复制粘贴可直接用的代码 以创建“运营专员”角色为例,设置权限为:可以编辑所有文章/页面、修改分类/标签、上传媒体、审核发布,但不能修改主题/插件/用户/网站设置: ```php // 创建运营专员自定义角色 function add_custom_role() { // 基于编辑角色的权限,移除不需要的 $editor_role = get_role( 'editor' ); $capabilities = $editor_role->capabilities; // 移除编辑角色的部分高权限 unset( $capabilities['edit_theme_options'] ); // 不能修改主题设置 unset( $capabilities['install_plugins'] ); // 不能安装插件 unset( $capabilities['update_plugins'] ); // 不能更新插件 unset( $capabilities['delete_plugins'] ); // 不能删除插件 unset( $capabilities['activate_plugins'] ); // 不能激活/停用插件 unset( $capabilities['edit_plugins'] ); // 不能编辑插件 unset( $capabilities['list_users'] ); // 不能查看用户列表 unset( $capabilities['create_users'] ); // 不能创建用户 unset( $capabilities['edit_users'] ); // 不能编辑用户 unset( $capabilities['delete_users'] ); // 不能删除用户 unset( $capabilities['promote_users'] ); // 不能修改用户权限 unset( $capabilities['manage_options'] ); // 不能修改网站核心设置 // 添加新角色 add_role( 'operation_specialist', // 角色内部标识(必须小写、无空格) '运营专员', // 后台显示的角色名称 $capabilities // 权限数组 ); } add_action( 'init', 'add_custom_role' ); ``` 3. 代码生效与回滚 - 用子主题`functions.php`:粘贴代码后点击「保存」,刷新后台即可看到新增的“运营专员”角色 - 用Code Snippets:粘贴代码后勾选「Only run in administration area」(仅在后台运行,安全),点击「Save Changes and Activate」,刷新后台即可 如果出错导致后台无法访问: - 用子主题`functions.php`:登录主机控制面板→找到之前备份的`functions.php`,覆盖原文件 - 用Code Snippets:登录主机控制面板→根目录→`wp-content/plugins/`→找到`code-snippets`文件夹→重命名为`code-snippets-old`,后台就会自动停用插件,恢复访问 4. 删除不需要的自定义角色 如果不再需要自定义角色,添加以下代码(运行一次后删除,避免重复操作): ```php // 删除运营专员自定义角色(运行一次后请删除此代码) function remove_custom_role() { remove_role( 'operation_specialist' ); } add_action( 'init', 'remove_custom_role' ); ``` 三、用插件快速自定义复杂权限 如果不想碰代码,可以用「User Role Editor」插件(完全免费,功能齐全): (一)插件安装与激活 1. 后台左侧「插件」→「安装插件」→搜索“User Role Editor”→找到作者为Vladimir Garagulya的插件→点击安装→点击激活 2. 激活后点击左侧「Users」→「User Role Editor」(插件默认英文,如需中文,在插件安装页搜索“User Role Editor Chinese Language Pack”安装激活即可) (二)修改现有角色权限 1. 进入User Role Editor页面,顶部「Select role and change its capabilities」下拉框选择要修改的角色 2. 权限分为多个分组(比如Posts、Pages、Media、Users等),勾选/取消勾选对应的权限项(绿色字体的是当前角色已有的权限) 3. 点击页面右侧的「Update」按钮,权限立即生效 (三)创建新角色 1. 进入User Role Editor页面,点击顶部「Add Role」按钮 2. 在弹出的窗口中填写: - Role ID(required):内部标识,小写无空格,比如`customer_service` - Role Name(required):后台显示的名称,比如“客服专员” - Make copy of:基于哪个现有角色修改,比如选择“Subscriber”,权限从低到高调整 3. 点击「Add Role」按钮 4. 按照“修改现有角色权限”的步骤调整权限,最后点击「Update」 (四)给单个用户单独分配权限 如果某个用户需要和同角色其他人不同的权限(比如某个运营专员可以临时更新插件): 1. 后台左侧「用户」→「所有用户」→找到目标用户→点击「编辑」 2. 下拉到页面中间的「Additional Capabilities」选项卡(插件新增的),勾选需要的临时权限 3. 点击「更新用户」按钮 四、权限分配的3个安全实操原则 1. 最小权限原则:只给用户完成工作必须的最低权限,比如客服只给“订阅者+查看/回复评论”的权限 2. 管理员账号唯一原则:除了1-2个核心负责人,不要给任何人管理员权限 3. 定期清理原则:定期查看「所有用户」列表,删除离职/闲置的账号,避免权限泄露

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图