Make WordPress Core


Ignore:
Timestamp:
08/22/2017 02:01:36 PM (9 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.