WordPress.org

Make WordPress Core

Ticket #14170: deactivate_plugins.diff

File deactivate_plugins.diff, 1.2 KB (added by scribu, 4 years ago)
  • wp-admin/includes/plugin.php

     
    512512 * @since unknown 
    513513 * 
    514514 * @param string|array $plugins Single plugin or list of plugins to deactivate. 
    515  * @param bool $silent Optional, default is false. Prevent calling deactivate hook. 
     515 * @param bool $silent Optional, default is false. Prevent calling deactivate hook.  
     516 *  Used by the updater to internally deactivate plugins, but not notifying them 
     517 *  of the fact, to prevent unexpected output. 
    516518 */ 
    517519function deactivate_plugins( $plugins, $silent = false ) { 
    518520        $network_current = get_site_option( 'active_sitewide_plugins', array() ); 
     
    539541                        } 
    540542                } 
    541543 
    542                 //Used by Plugin updater to internally deactivate plugin, however, not to notify plugins of the fact to prevent plugin output. 
    543                 if ( ! $silent ) { 
     544                // Don't trigger if the plugin will still be active on the current blog 
     545                if ( !$silent && !( $do_network && in_array( $plugin, $current ) ) ) { 
    544546                        do_action( 'deactivate_' . trim( $plugin ) ); 
    545547                        do_action( 'deactivated_plugin', trim( $plugin ) ); 
    546548                }