Ich war mir sicher, dass die wp_update_user
Funktion dies tun sollte ( http://codex.wordpress.org/Function_Reference/wp_update_user ).
Es bekommt sogar user_login als Parameter, aber es sieht so aus, als würde es ignoriert, wenn Sie diesen Parameter setzen.
Dieser Code sieht also in Ordnung aus, funktioniert aber nicht wie gewünscht :(:
wp_update_user( array ( 'ID' => $user_id, 'user_login' => $new_login ) ) ;
Sie müssen eine benutzerdefinierte SQL-Abfrage aufrufen, um user_login zu aktualisieren:
$wpdb->update($wpdb->users, array('user_login' => $new_user_login), array('ID' => $user_id));
Es funktioniert einwandfrei und ich glaube nicht, dass es schwerwiegende Konsequenzen hat, da WP die Benutzer-ID verwendet, um dem Benutzer Beiträge / Kommentare (und so weiter) zuzuweisen.
Das einzige Problem, an das ich denken kann, ist, dass dieser Benutzer nach der Änderung von user_login abgemeldet wird, wenn er gerade angemeldet ist.