This page may contain affiliate links. Please read my disclaimer for more information.

Fix: Unable to Change User Roles in Multisite

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.

1 thought on “Fix: Unable to Change User Roles in Multisite”

Leave a Comment

Join The Mantis Report

Get weekly WordPress news, resources, tutorials, and other tips from our experts.

Name*
This field is for validation purposes and should be left unchanged.
Skip to content