Fires before a plugin is deactivated.


do_action( 'deactivate_plugin', (string) $plugin, (bool) $network_deactivating ); 

If a plugin is silently deactivated (such as during an update), this hook does not fire.

Parameters (2)

0. $plugin (string)
Plugin path to main plugin file with plugin data.
1. $network_deactivating (bool)
Whether the plugin is deactivated for all sites in the network or just the current site. Multisite only. Default is false.


To run the hook, copy the example below.
  1. // run the action 
  2. do_action( 'deactivate_plugin', $plugin, $network_deactivating ); 
The following example is for adding a hook callback.
  1. // define the deactivate_plugin callback 
  2. function action_deactivate_plugin( $plugin, $network_deactivating ) { 
  3. // make action magic happen here... 
  4. }; 
  6. // add the action 
  7. add_action( 'deactivate_plugin', 'action_deactivate_plugin', 10, 2 ); 
To remove a hook callback, use the example below.
  1. // remove the action 
  2. remove_action( 'deactivate_plugin', 'action_deactivate_plugin', 10, 2 ); 

Defined (2)

The action is defined in the following location(s).

  1. do_action( 'deactivate_plugin', $plugin, $network_deactivating ); 
  1. do_action( "deactivate_{$plugin}", $network_deactivating );