@sinandira You are correct that the basic edit capability is required to access the Edit screen and to do any editing. That requirement comes from WordPress. Although the plugin does not bypass the capability, you can go ahead and assign it to your role. Note that the basic edit capability for a post type does not cover posts that are published or authored by other users. You can further limit the edit capability’s effect by taking the following steps:
1. On the Capabilities screen, enable “Use create_posts” capability” in the right sidebar. This means users won’t be able to create new posts (of any post type) unless they have the create capability defined for that type. A checkbox will appear on the Capabilities screen in each post type row, and you’ll need to assign that for any role that needs to create.
2. If too many posts are available for revision creation (using the “New Revision” link), you can limit that through Revisions > Settings > Revision Creation > “Additional role capability required to create new revision”
If you enable that setting, users who can already access the Edit screen will be further limited by “copy” capability requirements. These are capabilities are defined per post type, post status and authorship in the same way as Edit capabilities:
- copy_pages : can create new revisions within the “page” type
- copy_others_pages : can create new revisions of pages authored by others
- copy_published_pages : can create new revisions of published pages
- copy_private_pages : can create new revisions of private pages
@stevejburge Note that these are not a satisfaction or replacement of the Edit capability requirement, but additional requirements that you can impose by enabling that Revisions setting.
Currently, the Copy capabilities would need to be added using the “Add Capability” sidebar on the Capabilities screen. I know that’s annoying, but try to understand that a “Copy” tab does not automatically appear on the Capabilities screen to organize these capabilities just because there is Revisions code implementing them. To avoid confusion, we need to develop the UI code and logic to display and process these plugin-specific capabilities in an optimal way. Since we have been developing and supporting our plugins in a lot of different directions this year, sometimes a few intuitively assumed conveniences are late arriving.