I was sure that wp_update_user() should do this.
It even gets user_login as param, but it looks like it ignores it, when you set this param.
So this code looks OK, but it doesn’t work as you wish it did 🙁 :
wp_update_user(
['ID' => $user_id, 'user_login' => $new_login]
);
You have to call custom SQL query to update user_login:
global $wpdb;
$wpdb->update(
$wpdb->users,
['user_login' => $new_user_login],
['ID' => $user_id]
);
It works OK and I don’t think it has any serious consequences, because WP uses users ID to assign posts/comments (and so on) to user.
The only problem I can think of is that when this user is currently logged in, he will be logged out after user_login change.
Related Posts:
- How to restrict access to uploaded files?
- Allowing users to edit only their page and nobody else’s
- Disallowing Users of a Custom Role from Deleting or Adding Administrators?
- Hide Admin Menu for Specific User ID who has administrator Role
- Allowing an email as the username?
- Check if specific username is logged in
- Post list based on the user that is logged in
- Basic auth WordPress REST API dilemma
- LEFT JOIN, INNER OUTER JOIN, LEFT OUTER JOIN is driving me crazy. Please help?
- Copy a user from one WordPress site to another
- Search multiple meta keys at once
- Getting users who registered 360 days from current date
- Querying Email Addresses for a List of Users with Same Last Name?
- Front end user meta options for users
- How to customize wp_signon()
- Creating a Front-end based User Search
- Can I create users that have access to *some* other users posts instead of all other users posts?
- Set default page for user account in admin
- Exclude subscriber users from user list
- Share user table from WP with Drupal
- Log all users out of all locations after 24 hours
- Hide everything on site for visitors except specific page IDs
- Managing Users and Creating Groups [closed]
- show text If special user is logged
- Upgrade Nightmare – No Posts, Permissions Issues and Can’t Create a new post
- How to disable a specific page for a specific user
- Allow user access to Dashboard only!
- Restrict access of admin uploads to certain logged-in users?
- mysql query two database tables, users and usermeta and sort by custom meta int value
- wordpress user roles are not working
- Displaying different in-page content to cliente/admin
- Problem with automatic role change through cron job
- Reset Password policy
- How can I allow an User to publish only 5 posts per month?
- Where are $current_user->allcaps set?
- WordPress SQL Issue not returning correct reselts
- How to get last user with wpdb?
- How do you manage your pages or functions that require logged-in users?
- Querying specific table row by current user login
- Allow admins to login as other users
- Can I Create a Second Admin Level User Role?
- Delete a user from frontend
- Unique password to access a section site
- One Click Access To Users Account In WordPress?
- Using my own user table
- WordPress user role with create user capability?
- How to get image path from id using SQL
- Update user role for expired membership
- Insert user register into my own user table instead of wp own user
- How to use url formatter with integer
- Custom User Role: Can Edit Own Page, Cannot Create New
- WordPress install checking permissions of user id 0
- throttle/limit a logged in user’s http requests to specific page on a per day basis
- Allowing users to edit only their page and nobody else’s
- How to bulk change user role to “No role for this site”
- Restrict Access to the User Profile
- post acces for guests / unregistered users only
- New User ID not working in custom function with user_register hook
- Username has been exposed
- Ordering list of users by last name and then by first name
- view and update form only for registered users
- Control Category of each user can post
- Limit user access to installing/configuring a plugin?
- determine active user browser at the same time
- MySQL query to list users who never signed in
- Wordpres password as plain text in email
- WordPress password as plain text in email
- (How) does WordPress protect direct access of user data?
- How to remove/limit Editor accounts privileges, to prevent them from deleting media and pages created by Admin
- How to get WordPress Username in Array format
- Display user registration date
- How do you add a custom option to user data?
- How to assign capabilities to user NOT to User Role
- Setting WP Admin passwords to expire
- Redirect after User Activation [closed]
- How to display only logged in user’s post comments in comments area
- Changing default Buddypress avatar affects all site avatars (because gravatar)
- How to make user accept license agreement before download
- 14,000 WordPress Users. How did they get there?
- Adding second Email address for WP user notifications
- how to make a profile entry read only except for site managers [closed]
- In what part of the WordPress core does the users table and usermeta table get joined?
- Fix permissions for users role
- Redirect subscribers to last viewed page after log-in
- User Meta Data in a Sortable Table
- search users using user name and user meta in wordpress
- Getting the age of a users account
- Unable to change email address of admin on localhost
- Get current logged-in user from external site
- Send user auto generated password on different email
- Get UserInfo from WordPress
- restrict admin panel sections to users
- $user_login is not working if author has only 1 post
- Showing extra profile fields in admin – problem with underscore
- Insert query not working for non-logged in user
- How to create a link to a user’s profile page
- Storing additional information about the user
- Current User Seeing Another Logged In User Info
- What techniques can a user employ to achieve a password rated “strong” in the WordPress password checker
- Can Authors detach a syncd pattern?