Definition:
function deactivate_plugins( $plugins, $silent = false ) {}
Deactivate a single plugin or multiple plugins.
The deactivation hook is disabled by the plugin upgrader by using the $silent parameter.
Parameters
- string|array $plugins: Single plugin or list of plugins to deactivate.
- bool $silent: Prevent calling deactivation hooks. Default is false.
Defined actions
- deactivate_plugin
do_action( 'deactivate_plugin', $plugin, $network_wide );
- deactivate_’.$plugin
do_action( 'deactivate_' . $plugin, $network_wide );
- deactivated_plugin
do_action( 'deactivated_plugin', $plugin, $network_wide );
Source code
function deactivate_plugins( $plugins, $silent = false ) { if ( is_multisite() ) $network_current = get_site_option( 'active_sitewide_plugins', array() ); $current = get_option( 'active_plugins', array() ); $do_blog = $do_network = false; foreach ( (array) $plugins as $plugin ) { $plugin = plugin_basename( trim( $plugin ) ); if ( ! is_plugin_active($plugin) ) continue; $network_wide = is_plugin_active_for_network( $plugin ); if ( ! $silent ) do_action( 'deactivate_plugin', $plugin, $network_wide ); if ( $network_wide ) { $do_network = true; unset( $network_current[ $plugin ] ); } else { $key = array_search( $plugin, $current ); if ( false !== $key ) { $do_blog = true; array_splice( $current, $key, 1 ); } } if ( ! $silent ) { do_action( 'deactivate_' . $plugin, $network_wide ); do_action( 'deactivated_plugin', $plugin, $network_wide ); } } if ( $do_blog ) update_option('active_plugins', $current); if ( $do_network ) update_site_option( 'active_sitewide_plugins', $network_current ); }
766
No comments yet... Be the first to leave a reply!