【问题标题】:Wordpress: let shop manager create users with custom roleWordpress:让店长创建具有自定义角色的用户
【发布时间】:2021-07-08 09:31:17
【问题描述】:

我需要让我的电子商务商店经理创建具有我创建的自定义角色的用户。

使用此代码,我可以添加 shop_manager 添加用户的可能性,但问题是商店经理只能创建一个具有“客户”的用户,而我想让商店经理添加自定义角色我之前创建的。

function shop_manager_add_users() {
    $role = get_role( 'shop_manager' );
    $role->add_cap('create_users' );
}
add_action( 'admin_init', 'shop_manager_add_users');

我该如何解决这个问题?

【问题讨论】:

  • 请注意,用户在“设置”>“常规”>“新用户默认角色”中分配了角色。如果这包括您的默认角色,那么您的代码适用于此(但不适用于自定义角色和客户)。显然会有一些安全考虑,否则商店经理可以创建管理员
  • 看起来您需要的功能是promote_users 但是,您将再次考虑安全性。这个答案可能会有所帮助; wordpress.stackexchange.com/questions/4479/…

标签: wordpress woocommerce hook-woocommerce


【解决方案1】:
register_activation_hook( __FILE__, 'wpse42003_activation' );
function wpse42003_activation()
{
    foreach( array( 'editor', 'shop_manager' ) as $r )
    {
        $role = get_role( $r );
        if( $role )
            $role->add_cap( 'create_users' );
    }
}

你可以试试这个在我的网站上运行良好但几年前的版本

【讨论】:

  • 谢谢,但是这段代码和我做的一样。添加创建用户的功能,但给我带来了我已经遇到的完全相同的问题:我只能创建客户
  • 阅读问题!
猜你喜欢
  • 2011-02-28
  • 1970-01-01
  • 2018-04-29
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
  • 2019-11-20
相关资源
最近更新 更多