There are several permissions in WordPress that are really powerful:
- The edit_posts permission controls access to most key writing features in WordPress.
- The upload_files permission controls access to the entire Media Library.
- Appearance > Widgets
- Appearance > Menus
- Appearance > Customize
- Appearance > Background
- Appearance > Header
So if a user has access the edit_theme_options permission, they will be able to do the following:
- Add and edit widgets.
- Add and edit menus.
- Change theme settings.
However, it's worth noting that they will not be able install new themes. That is controlled by a separate install_themes permission. Users who only have the edit_theme_options permissions will not see the “Install” button on the Themes screen:
How to control who has the edit_theme_options permission
If you use the PublishPress Capabilities plugin, you can enable or disable this permission for each user role.
- Go to “Capabilities” in your WordPress admin area.
- In the top-left corner of the screen, load the user role that you want to customize.
- In the center of the screen, you can now set the permissions. If you want to allow people in the Editor role to create posts, check the “edit theme options” box.