时间:2024-04-01
在本站之前发布的文章中,介绍过不用插件定制修改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的订单和商品页面,无法访问其他内容。
Copyright © 2019-2024 ytldj.com