基于 WordPress 现有角色新建用户角色并修改新建角色的权限
文 / @WordPress主题
使用WordPress的add_role方法添加新角色
在本站之前发布的文章中,介绍过不用插件定制修改WordPress角色的权限的方法,如果想针对某种需求的用户新建一个角色,而不是修改默认角色的权限,可以使用WordPress的add_role
方法添加角色。
基于现有角色的权限创建新角色
如果您打算基于现有角色的权限,创建一个新的角色,那么使用add_role
方法非常方便。使用此方法添加的新角色将继承现有角色的所有权限,这样您就可以根据需求添加或减少该角色的权限。
下面的代码演示了如何在WooCommerce的shop_manager
角色的基础上创建一个名为“Partner”的新角色,该角色只能访问WooCommerce的订单和商品页面,而无法访问文章、页面、评论和导出权限等内容。
//移除Shop Manager角色的不需要的权限
add_action('admin_init','remove_shop_caps');
function remove_shop_caps(){
//获取WooCommerce的“shop_manager”角色
$shop_manager=get_role('shop_manager');
//在此基础上添加名为“partner”的新角色
$partner=add_role('partner','Partner',$shop_manager->capabilities);
$partner=get_role('partner');
//移除新角色的不需要的权限
$partner->remove_cap('edit_comment');
$partner->remove_cap('edit_users');
$partner->remove_cap('edit_pages');
$partner->remove_cap('edit_posts');
$partner->remove_cap('manage_categories');
$partner->remove_cap('export');
}
将以上代码复制并粘贴到functions.php文件或插件文件中,然后新建用户时,就会出现一个名为“Partner”的角色。新用户被分配为“Partner”角色后,就只能访问WooCommerce的订单和商品页面,无法访问其他内容。

相关文章
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
创建Vue组件详细教程 2023-09-10 00:23:17
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02
-
Astra 主题团队推出人工智能驱动的 WordPress 网站创建平台 – ZIPWP 2023-08-28 16:49:54
-
WordPress 宣布将为用户提供 100 年域名托管服务 2023-08-28 16:45:27
-
PHP判断if else 和 switch case的区别盘点 2023-07-29 15:11:11
-
详解WordPress独立站SEM中的OCPC方法(含百度推广OCPC与谷歌OCPC) 2023-07-19 08:01:30
-
WordPress的古腾堡全站编辑器site-editor.php介绍(附:site-editor.php启用代码) 2023-07-16 08:01:57