diff --git a/core/um-actions-register.php b/core/um-actions-register.php index d1304925..5fd4798d 100644 --- a/core/um-actions-register.php +++ b/core/um-actions-register.php @@ -34,15 +34,32 @@ function um_add_user_frontend($args){ global $ultimatemember; extract($args); - - if ( isset( $user_email ) && !isset($user_login) ) { - $user_login = $user_email; - } + if ( isset( $username ) && !isset($args['user_login']) ) { $user_login = $username; } + if ( ! empty( $first_name ) && ! empty( $last_name ) && ! isset( $user_login ) ) { + + if ( um_get_option('permalink_base') == 'name' ) { + $user_login = rawurlencode( strtolower( str_replace(" ",".",$first_name." ".$last_name ) ) ); + }else if ( um_get_option('permalink_base') == 'name_dash' ) { + $user_login = rawurlencode( strtolower( str_replace(" ","-",$first_name." ".$last_name ) ) ); + }else if ( um_get_option('permalink_base') == 'name_plus' ) { + $user_login = strtolower( str_replace(" ","+",$first_name." ".$last_name ) ); + }else{ + $user_login = strtolower( str_replace(" ","",$first_name." ".$last_name ) ); + } + + } + + $unique_userID = $ultimatemember->query->count_users() + 1; + + if ( !isset( $user_login ) ) { + $user_login = 'user' . $unique_userID; + } + if ( isset( $username ) && is_email( $username ) ) { $user_email = $username; } @@ -51,15 +68,11 @@ $user_password = $ultimatemember->validation->generate(); } - $unique_userID = $ultimatemember->query->count_users() + 1; if( !isset($user_email) ) { $user_email = 'nobody' . $unique_userID . '@' . get_bloginfo('name'); } - - if ( !isset( $user_login ) ) { - $user_login = 'user' . $unique_userID; - } + $creds['user_login'] = $user_login; $creds['user_password'] = $user_password; @@ -67,7 +80,8 @@ $args['submitted'] = array_merge( $args['submitted'], $creds); $args = array_merge($args, $creds); - + + do_action('um_before_new_user_register', $args); $user_id = wp_create_user( $user_login, $user_password, $user_email );