What exactly are you trying to achieve: do you want to restrict access or allow access, and for which roles/users?
In general, the “extra capability” field acts as a filter that’s applied on top of other permissions. To be able to see a menu item, the user must first meet all of the other requirements (e.g. having the required capability, role permissions in the Pro version, etc). Users that pass those checks and have the extra capability will be allowed access.
For example, lets say you have a menu item where the default required capability is manage_options
. If you set the extra capability to “shop_manager”, only users who have both the manage_options capability and the Shop Manager role will be able to access this menu. Users who only have the Shop Manager role (but not the required capability) won’t have access.
That’s probably the reason why “shop manager + administrator” didn’t work. It allows only users who have both roles: Administrator and Shop Manager. A user that has only one of those roles – like Shop Manager – won’t see the menu.