Make WordPress Core


Ignore:
Timestamp:
08/22/2017 02:01:36 PM (7 years ago)
Author:
johnbillion
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/capabilities.php

    r41268 r41290  
    408408        break;
    409409    case 'activate_plugins':
    410         $caps[] = $cap;
     410    case 'deactivate_plugins':
     411    case 'activate_plugin':
     412    case 'deactivate_plugin':
     413        $caps[] = 'activate_plugins';
    411414        if ( is_multisite() ) {
    412415            // update_, install_, and delete_ are handled above with is_super_admin().
Note: See TracChangeset for help on using the changeset viewer.