AAM allows to manage access to your WordPress website resources for any individual user, role, visitors or define the default access for everybody. It has very sophisticated access inheritance mechanism which makes AAM the most powerful access management plugin that is available for the WordPress CMS.
WordPress website resource refers to any post, page, media file, custom post type, taxonomy, menu, metabox, widget etc.
The post refers to any post, page, media file or custom post type
The taxonomy refers to any category or custom taxonomy. Please note that AAM works only with hierarchical taxonomies
All resources are related to each other in the hierarchical way. For example a post may have a parent taxonomy or user assigned to a role. AAM takes in consideration these relations and inherits access settings based on how they are related.
Here is the list of WordPress core relations that AAM takes in consideration:
- User always has a parent role;
- Role may have a parent role (available with Role Hierarchy extension);
- Post may have a parent taxonomy (available with Plus Package extension);
- Post may have a parent post (available with Plus Package extension);
- Taxonomy may have a parent taxonomy (available with Plus Package extension);
Additionally AAM introduces the concept of default settings where you can setup default access to your website resources for any user, role, visitors of for everybody.
To manage default settings for everybody, go to AAM page and on the Users/Roles Manage panel switch to “Manage Default Access”.
The inheritance mechanism searches for access settings from the bottom-up and stops when non-empty result is found. The visual example below shows how access settings are inherited.
First AAM tries to find settings for the current user and if nothing found, then it checks user’s parent role. Finally when no settings detected on the user’s role level, AAM drills up to the global default settings.
With Role Hierarchy, you can create a complex role hierarchy and AAM will take it in consideration.
It gets much more complicated with posts and taxonomies because any post can have a parent post or a parent taxonomy. To learn more about posts and taxonomies inheritance mechanism please check How to manage access to the WordPress content article.