Plugins: Introduce singular capabilities for activating and deactivating individual plugins.
This introduces the following meta capabilities: * `activate_plugin` * `deactivate_plugin` * `deactivate_plugins` The singular `activate_plugin` and `deactivate_plugin` capabilities are used along with the corresponding plugin name when determining whether or not a user can activate or deactivate an individual plugin. The plural `deactivate_plugins` capability is used in place of the existing `activate_plugins` capability when determining whether a user can deactivate plugins. Each of these new meta capabilities map to the existing `activate_plugins` primitive capability, which means there is no change in existing behaviour, but plugins can now filter the capabilities required to activate and deactivate individual plugins. Fixes #38652 Built from https://develop.svn.wordpress.org/trunk@41290 git-svn-id: http://core.svn.wordpress.org/trunk@41130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -407,7 +407,10 @@ function map_meta_cap( $cap, $user_id ) {
|
||||
}
|
||||
break;
|
||||
case 'activate_plugins':
|
||||
$caps[] = $cap;
|
||||
case 'deactivate_plugins':
|
||||
case 'activate_plugin':
|
||||
case 'deactivate_plugin':
|
||||
$caps[] = 'activate_plugins';
|
||||
if ( is_multisite() ) {
|
||||
// update_, install_, and delete_ are handled above with is_super_admin().
|
||||
$menu_perms = get_site_option( 'menu_items', array() );
|
||||
|
||||
Reference in New Issue
Block a user