Back to Community

How to Fix Shop Manager Role Cannot Edit Users in WordPress

27 threads Sep 9, 2025 PluginUser role editor

Content

A common issue for WordPress site administrators, particularly those running WooCommerce, is discovering that users with the Shop Manager role cannot edit other users' profiles, even after all the correct capabilities like edit_users and list_users have been granted using the User Role Editor plugin. This guide explains why this happens and provides the definitive solution.

Why This Problem Occurs

This is not a bug in the User Role Editor plugin. The behavior is a deliberate security feature implemented by WooCommerce. Starting with version 3.4.6, WooCommerce introduced a restriction that limits Shop Managers to editing only users with the 'customer' role. This was a security update to prevent potential privilege escalation.

Even if you grant a Shop Manager every user-related capability, WooCommerce's internal code will still filter and restrict which user roles they can see and edit. This is why the role dropdown may appear empty or only show 'customer' when a Shop Manager tries to change a user's role.

The Primary Solution: Use the WooCommerce Filter

The WooCommerce team provides an official filter hook to override this restriction. You must add a small code snippet to your site, typically by placing it in your child theme's functions.php file or using a code snippets plugin.

The following code example adds the 'subscriber' and a custom 'vendor' role to the list of roles a Shop Manager can edit. You can modify the array to include any role slugs you need.

add_filter( 'woocommerce_shop_manager_editable_roles', 'my_shop_manager_editable_roles' );

function my_shop_manager_editable_roles( $roles ) {
    // Add the slugs of the roles you want the Shop Manager to edit
    $roles[] = 'subscriber';
    $roles[] = 'vendor';
    return $roles;
}

Important: After adding this code, the Shop Manager will need the standard WordPress capabilities (list_users, edit_users, promote_users, etc.) to perform these actions, which can be granted via the User Role Editor interface.

Alternative Workarounds

If you are uncomfortable adding code, there are two other potential approaches, though they come with caveats:

  1. Create a Custom Role: Instead of modifying the built-in Shop Manager role, create a new role (e.g., "Shop Man 2") that is a copy of it. Then, grant this new role the necessary user editing capabilities. Be aware that this custom role will not automatically receive new capabilities that WooCommerce may add to the official Shop Manager role in future updates.
  2. Assign Multiple Roles: You can assign a single user both the Shop Manager role and a second custom role that has the user editing capabilities. This can be a complex setup but avoids modifying the core Shop Manager role.

Important Considerations

  • WooCommerce Resets Roles: Be aware that WooCommerce will reset its own roles (like Shop Manager) to their default capabilities if the plugin is reactivated. If you make direct changes to the Shop Manager role, they could be lost. Using the filter hook or a custom role is the more sustainable solution.
  • Plugin Conflicts: The ability to see and edit custom user profile fields (added by plugins like User Registration Pro) may be controlled by that specific plugin's permissions, which are separate from WordPress core capabilities.

By using the provided filter, you can confidently extend the Shop Manager's permissions to manage users while maintaining the security and update path of your WooCommerce store.

Related Support Threads Support