如何以编程方式为新用户设置默认角色?

时间:2011-10-22 作者:jayarjo

我希望博客的新用户有自定义角色,而不是订阅者。如何以编程方式进行设置?我知道它可以从后端更改。

4 个回复
最合适的回答,由SO网友:EarnestoDev 整理而成

这允许插件在活动时轻松劫持默认角色。

// Hijack the option, the role will follow!
add_filter(\'pre_option_default_role\', function($default_role){
    // You can also add conditional tags here and return whatever
    return \'subscriber\'; // This is changed
    return $default_role; // This allows default
});
我使用它来确保一些需要订阅者角色的插件能够获得它,而不管管理员是否尝试更改:)

问候您。

SO网友:soulseekah

通过创建新用户时wp_insert_user() 函数,角色设置为set_role() 的方法User 类,并设置为默认用户角色。

从数据库中检索默认用户角色get_option(\'default_role\') 可以通过管理仪表板进入“设置”>“常规”>“新建用户默认角色”进行设置。

如果您已注册新角色(使用add_role(), 应该可以在那里进行选择。

或者,为了获得更多的控制,您可以连接到user_registerprofile_update 到那时的操作set_role 有条件的,或者你喜欢的其他方式。

SO网友:Delphi Electronice

使用创建用户后

$user_id = wp_create_user( $user_login, $pas1, $user_email );
创建用户对象

$user = new WP_User($user_id);
然后设置角色

$user->set_role(\'editor\');
您可以使用以下任何角色替换“编辑器”角色:

管理员

编辑器

作者

投稿人

订阅者

SO网友:user80490

将其插入插件或功能。主题的php

//Make \'Client\' a default role

update_option(\'default_role\',\'client\');

结束