Ticket #39370: 39370.1.diff
File 39370.1.diff, 1.4 KB (added by , 5 years ago) |
---|
-
src/wp-includes/user.php
1617 1617 */ 1618 1618 $user_nicename = apply_filters( 'pre_user_nicename', $user_nicename ); 1619 1619 1620 $user_ nicename_check = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1", $user_nicename, $user_login ) );1620 $user_id = ! empty( $ID ) ? (int) $ID : 0; 1621 1621 1622 $user_nicename_check = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND ID != %d LIMIT 1", $user_nicename, $user_id ) ); 1623 1622 1624 if ( $user_nicename_check ) { 1623 1625 $suffix = 2; 1624 1626 while ( $user_nicename_check ) { … … 1625 1627 // user_nicename allows 50 chars. Subtract one for a hyphen, plus the length of the suffix. 1626 1628 $base_length = 49 - mb_strlen( $suffix ); 1627 1629 $alt_user_nicename = mb_substr( $user_nicename, 0, $base_length ) . "-$suffix"; 1628 $user_nicename_check = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1", $alt_user_nicename, $user_login) );1630 $user_nicename_check = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND ID != %d LIMIT 1", $alt_user_nicename, $user_id ) ); 1629 1631 $suffix++; 1630 1632 } 1631 1633 $user_nicename = $alt_user_nicename;