@megseoh Here are a few clarifications on how the plugin applies permissions:
First, we need to distinguish between two different types of permissions:
- Role capabilities (edit posts, edit_pages, edit_published_pages, etc). These may be configured using a plugin but are generally implemented by the WordPress core or third party plugins.
- Term-specific or post-specific permissions (Enable Post editing in Category A, Block Page editing for Page N and its subpages). These are implemented by the Permissions plugin, and can supersede role capabilities.
Role capabilities are generally additive, meaning that in a multiple role configuration, a capability from one role outshines the lack of that capability in the other role. However, role capabilities can also be assigned negatively. So if your Editor role has the edit_pages capability assigned but your Subscriber role has edit_pages negated, a user with both roles would be unable to edit pages. In our PublishPress Capabilities plugin, negated capabilities are represented with a red X.
Content permissions implemented by this plugin use your role capabilities as a starting point and allow further adjustment for specific categories or posts. Here’s how “competing” permissions are resolved:
We support a constant definition (PP_RESTRICTION_PRIORITY) which will cause “No” to take priority. But by default, it’s the other way around:
- “Enabled” takes priority over “Blocked”
Note, though, that the permission qualification (is it assigned for a specific post or for a specific term) also matters:
- Post-assigned permissions take priority over term-assigned permissions
So if a post is enabled per-category but blocked per-post, the restriction will win. Now for a final wrinkle: to accommodate Administrators who want category permissions to have final say, this rule can be reversed by turning off the following plugin setting:
- Permissions > Settings > Core > Post-specific Permissions take priority