Table of Contents
- How to Find the Latest Versions of PublishPress Plugins
- Changelogs for PublishPress Authors Pro
- Changelogs for PublishPress Capabilities Pro
- Changelogs for PublishPress Checklists Pro
- Changelogs for PublishPress Permissions Pro
- Changelogs for PublishPress Pro
- Changelogs for PublishPress Revisions Pro
- Changelogs for PublishPress Blocks
- Changelogs for Free PublishPress Plugins
- Changelogs for the PublishPress Theme
- Number of characters in title
- Numbers of words in content
- Number of categories
- Number of tags or taxonomy terms
- Number of characters in excerpt
- Number of internal links in content
- Number of external links in content
- All links use a valid format
- ALT Text for all images
- Featured image
- Latin characters in permalink
- Approved by a user in this role
- Yoast SEO tasks
- WooCommerce product tasks
- Getting Started With Notifications in PublishPress
- Understanding the PublishPress Notification Options
- Get PublishPress Notifications by Email or Slack
- How to Customize PublishPress Notifications With Shortcodes
- How to Use Reminder Notifications
- Notify Me: How to Manually Add Yourself to Notifications
- The PublishPress Notifications Log
- Hooks and Filters for Notifications
- Troubleshooting Email Notifications in PublishPress
- Control Access to Custom Post Types
- Control Viewing Access to Specific Categories
- Allow Editing of Specific Pages
- Force Users to Create Posts in a Category or Parent Page
- Block Users from Seeing Non-Editable Posts
- Control Viewing Permissions for WordPress Content
- Control Editing Permissions for WordPress Content
- Block Access to WordPress Category and Tag Pages
- Configure Who Can See Other People's Posts
- Developer Information for Permission Groups
- PublishPress Permissions Database Tables and Settings
- pp_create_group()
- pp_delete_group()
- pp_get_group()
- pp_get_group_by_name()
- pp_get_metagroup
- pp_get_groups()
- pp_get_group_members()
- pp_get_groups_for_user()
- pp_add_group_user()
- pp_remove_group_user()
- pp_update_group_user()
- ppc_get_roles()
- ppc_assign_roles()
- ppc_get_exceptions()
- ppc_assign_exceptions()
- Does My Plugin Support PublishPress Revisions?
- A List of Some Plugins Supported by PublishPress Revisions
- PublishPress Revisions Pro and The Events Calendar
- PublishPress Revisions Pro and WooCommerce
- PublishPress Revisions Pro and Advanced Custom Fields
- PublishPress Revisions Pro and Beaver Builder
- PublishPress Revisions Pro and WPML
- PublishPress Revisions Pro and Custom Post Type UI
- PublishPress Revisions Pro and Yoast SEO
- PublishPress Revisions Pro and the PODS Framework
- Submit and Moderate Revisions with the Divi Theme
- Create Revisions Using an API
- Advanced Accordion Block
- Advanced Button Block
- Advanced Icon Block
- Advanced Image Block
- Advanced List Block
- Advanced Table Block
- Advanced Tabs Block
- Advanced Video Block
- Columns Manager Block
- Contact Form Block
- Count Up Block
- Images Slider Block
- Info Box Block
- Login / Register Form Block
- Map Block
- Newsletter Block
- Recent Posts Block
- Search Bar Block
- Social Links Block
- Summary Block
- Testimonial Block
- Woo Products Block
- A WordPress Editorial Workflow for Writing, Reviewing and Publishing
- A WordPress Workflow for Editing and Reviewing
- Create a Workflow for University Departments in WordPress with PublishPress
- Create a Multi-Step Workflow in WordPress
- How to Create a Publishing Workflow for Authors in WordPress
- How to Get 2 People to Approve Content in WordPress
- How to Allow WordPress Admin Area Access for WooCommerce Users
- How to Manage Permissions for WooCommerce Products
- Allow WooCommerce Users to Edit Only One Product
- How to Approve and Schedule Changes to WooCommerce Products
- WooCommerce Users Can Edit Products Only in Some Categories
- How Create WooCommerce Users Who Can Only View and Edit Products
- How to Create and Schedule Revisions for WooCommerce Products
- How to Control Who Can Duplicate WooCommerce Products
- Create WooCommerce Users Who Can Only View Reports
- How to Control Who Can Access WooCommerce Coupons
- How to Create WooCommerce Users Who Can Only View and Edit Orders
- How to Manage Permissions for WooCommerce Orders
- How to Control Permissions for WooCommerce Refunds
- How to Create Checklists with WooCommerce
- activate_plugins
- add_users
- create_users
- delete_others_pages
- delete_others_posts
- delete_pages
- delete_posts
- delete_plugins
- delete_private_pages
- delete_private_posts
- delete_published_pages
- delete_published_posts
- delete_themes
- delete_users
- edit_dashboard
- edit_others_pages
- edit_others_posts
- edit_pages
- edit_plugins
- edit_posts
- edit_private_pages
- edit_private_posts
- edit_published_pages
- edit_published_posts
- edit_theme_options
- edit_themes
- edit_users
- erase_others_personal_data
- export
- export_others_personal_data
- import
- install_plugins
- install_themes
- list_users
- manage_categories
- manage_links
- manage_options
- manage_privacy_options
- moderate_comments
- promote_users
- read
- read_private_pages
- read_private_posts
- remove_users
- switch_themes
- unfiltered_html
- unfiltered_upload
- update_core
- update_plugins
- update_themes
- upload_files
ppc_assign_exceptions()
- Home
- PublishPress Permissions
- Developer
- ppc_assign_exceptions()
/**
* Assign exceptions for a user or group
* @param array agents : agents['item'|'children'][agent_id] = true|false
* @param string agent_type
* @param array args :
* - operation ('read'|'edit'|'associate'|'assign'...)
* - mod_type ('additional'|'exclude'|'include')
* - for_item_source ('post' or 'term' - data source to which the role applies)
* - for_item_type (post_type or taxonomy to which the role applies)
* - for_item_status (status which the role applies to i.e. 'post_status:member'; default '' means all stati)
* - via_item_source ('post' or 'term' - data source which the role is tied to)
* - item_id (post ID or term_taxonomy_id)
* - via_item_type (post_type or taxonomy of item which the role is tied to; default '' means unspecified when via_item_source is 'post')
*/
function ppc_assign_exceptions( $agents, $agent_type = 'pp_group', $args = array() )
Example Usage
$group = pp_get_group_by_name( 'Cool Group', 'pp_group' );
$term = get_term_by( 'slug', 'cool', 'my_custom_taxonomy' );
// enable all members of this group to read pages which are in the specified term
$args = array(
'operation' => 'read',
'mod_type' => 'additional',
'for_item_source' => 'post',
'for_item_type' => 'page',
'via_item_source' => 'term',
'item_id' => $term->term_taxonomy_id,
'via_item_type' => 'my_custom_taxonomy',
);
$agents = array();
$agents['item'][$group->ID] = true;
ppc_assign_exceptions ( $agents, 'pp_group', $args );