• Resolved kseniyasqo

    (@kseniyasqo)


    Hello,

    I have an issue with default role. In the settings, I set custom Registered role to be Default and it works fine when registration happens front-end.

    But when I try to add new user from Dashboard and assign the role as Administrator, there is a problem.

    User gets activation email which says he is invited as Administrator, but after activates his account, his roles gets reset to the default Registered role.

    https://www.ads-software.com/plugins/wpfront-user-role-editor/

Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter kseniyasqo

    (@kseniyasqo)

    Update: I was trying both with plugin network-activated and enabled only on required subsite. In both cases, it’s impossible to create a new admin user from dashboard.

    Thread Starter kseniyasqo

    (@kseniyasqo)

    Alright, I was reluctant to modify the plugin’s source code.
    So I created a special plugin to solve this problem. Basically, upon user activation, I ran the final check and update the user back to Admin if signup meta had ‘new_role’ key in place.

    add_action('wpmu_activate_user', 'promote_to_admin', 99);
    function promote_to_admin($user_id, $password, $meta) {
    global $wpdb;
    $user = get_userdata($user_id);
    $email = $user->user_email;
    $query = $wpdb->prepare("SELECT meta from wp_signups where user_email = %s", $email);
    $raw_meta = $wpdb->get_results($query, ARRAY_A);
    $signup_meta = unserialize($raw_meta[0]['meta']);
    if (array_key_exists('new_role', $signup_meta)) {
        $user->set_role($signup_meta['new_role']);
    }
    }

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Default role overrides Administrator role when new user is added from Dashboard’ is closed to new replies.