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/src/wp-admin/includes/class-wp-plugin-install-list-table.php

    r41289 r41290  
    469469                        if ( is_plugin_active( $status['file'] ) ) {
    470470                            $action_links[] = '<button type="button" class="button button-disabled" disabled="disabled">' . _x( 'Active', 'plugin' ) . '</button>';
    471                         } elseif ( current_user_can( 'activate_plugins' ) ) {
     471                        } elseif ( current_user_can( 'activate_plugin', $status['file'] ) ) {
    472472                            $button_text  = __( 'Activate' );
    473473                            /* translators: %s: Plugin name */
Note: See TracChangeset for help on using the changeset viewer.