您的当前位置:首页 > 知识博客 > wordpress建站

基于 WordPress 现有角色新建用户角色并修改新建角色的权限

时间:2024-04-01

使用WordPress的add_role方法添加新角色

在本站之前发布的文章中,介绍过不用插件定制修改WordPress角色的权限的方法,如果想针对某种需求的用户新建一个角色,而不是修改默认角色的权限,可以使用WordPress的add_role方法添加角色。

基于现有角色的权限创建新角色

WooComerce-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的订单和商品页面,无法访问其他内容。


欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 wangzhan.shop


Whatsapp