After migrating a sub site from one WordPress multisite to another, I wasn’t able to change user roles after adding the existing users to the new install.
Fortunately, the solution to fixing this is pretty simple.
What You’ll Need
- Multisite Super Admin Privileges
- Access to the Database files (phpmyadmin)
Before moving on…
First you need to make sure you are logged into the WP Admin as a Super Admin.
In most cases you will be if you have been the user setting up the multisite and making all of the changes to multiple sites.
You can also verify by looking at your user account, you will see “Super Admin” next to your name
Newbie Tip:
If you’re new to multisite, all sites share one database, however sites are broken up by unique prefixes, as shown below.
Time for the fix
Once you’re logged into your database through phpmyadmin, you need to locate the options table for the site you are trying to change the user roles for.
After locating the correct options table, you’ll need to do a search in the search field shown above.
Search for “wp_” as shown below.
You will see a row with the wp_#_roles, you’ll need to click the edit button on the left and change the option name to match the name of the option table you selected. As shown below.
After you have completed those steps you will be able to go back to the user section and change the user roles.
The Wrap Up
If you continue to have issues, you may need to clear cache in your website, hosting, and/or browser.
If you do not have a multisite, but you’re still experiencing this issue, these steps should still help you resolve the problem.
For any questions or additional support please use the chat or comments below.
I do not have any option name like wp_{site_id}_user_roles only have wp_user_roles