Simple little snippet, that can easily be used in conjunction with wp_update_user()
/* Generate Unique User Nicename */
function generate_unique_user_nicename( $x ) {
// set up args to query
$args = array(
'search' => sanitize_title( $x ),
'search_columns' => array( 'user_nicename' )
);
// query for user
$user_url_exists = new WP_User_Query( $args );
$results = $user_url_exists->get_results();
// if user url is found, check for new one
if( !empty( $results ) ) {
$i = substr( sanitize_title( $x ), intval( strrpos( sanitize_title( $x ) ,'-' ) ) + 1 );
if( is_numeric( $i ) ) {
$i++;
$y = substr($x, 0, strrpos($x,'-' ));
$company_name = $y . '-' . $i;
} else {
$company_name = $x . '-1';
}
$new_company_name = sanitize_title( $company_name );
return generate_unique_user_nicename( $new_company_name );
} else {
return sanitize_title( $x );
}
}
