Make WordPress Core


Ignore:
Timestamp:
08/22/2017 02:01:36 PM (8 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/tests/phpunit/tests/user/capabilities.php

    r41268 r41290  
    236236            'install_languages'      => array( 'administrator' ),
    237237            'update_languages'       => array( 'administrator' ),
     238            'deactivate_plugins'     => array( 'administrator' ),
    238239
    239240            'edit_categories'        => array( 'administrator', 'editor' ),
     
    266267            'install_languages'      => array(),
    267268            'update_languages'       => array(),
     269            'deactivate_plugins'     => array(),
    268270
    269271            'customize'              => array( 'administrator' ),
     
    426428            $expected['manage_links'],
    427429            // Singular object meta capabilities (where an object ID is passed) are not tested:
     430            $expected['activate_plugin'],
     431            $expected['deactivate_plugin'],
    428432            $expected['remove_user'],
    429433            $expected['promote_user'],
Note: See TracChangeset for help on using the changeset viewer.