function update_user_member_type_set($user_id, $old_user_data) { //$user_member_type = bp_get_member_type($user_id); //if( isset($user_member_type) && !empty($user_member_type) ) return; $user_detail = get_userdata($user_id); $user_role = $user_detail->roles[0]; $get_member_type = bmt_get_member_type_by_wp_role($user_role); if (isset($get_member_type[0]['name']) && !empty($get_member_type[0]['name'])) { bp_set_member_type($user_id, $get_member_type[0]['name']); } }
/** * Generate Member Type WP Role Meta box * * @param type $post */ public function bp_member_type_wprole_metabox($post) { global $wp_roles; $all_roles = $wp_roles->role_names; //remove bbPress roles unset($all_roles['bbp_keymaster']); unset($all_roles['bbp_spectator']); unset($all_roles['bbp_blocked']); unset($all_roles['bbp_moderator']); unset($all_roles['bbp_participant']); $selected_roles = get_post_meta($post->ID, '_bp_member_type_wp_roles', true); $selected_roles = (array) $selected_roles; ?> <p><?php _e('Choose WP roles to be auto-assigned to this member type (includes existing users).', 'bp-member-types'); ?> </p> <?php if (isset($all_roles) && !empty($all_roles)) { foreach ($all_roles as $key => $val) { $role_member_type = bmt_get_member_type_by_wp_role($key); $disabled = ''; $disabled_style = ''; $disable_message = ''; if (isset($role_member_type) && !empty($role_member_type) && $post->ID != $role_member_type[0]['ID']) { $disabled = 'disabled readonly'; $disabled_style = 'style="color:#bbb"'; $disable_message = ' (Already assigned to "' . $role_member_type[0]['nice_name'] . '" member type)'; } ?> <p <?php echo $disabled_style; ?> > <input type='checkbox' name='bp-member-type[wp_roles][]' <?php echo $disabled; ?> value='<?php echo $key; ?> ' <?php echo in_array($key, $selected_roles) ? 'checked' : ''; ?> /> <?php echo $val . $disable_message; ?> </p> <?php } } }