Ask for feedback while deactivating a plugin

Installs: 1 383

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0


v0.1.6 2023-10-26 10:01 UTC

This package is auto-updated.

Last update: 2023-12-06 17:41:15 UTC


Intercept the plugin deactivation with a dialog

How to install plugin-deactivation

Instantiate the Deactivation_Handler by providing the $plugin_slug, and $dialog_view_file_path as parameters.

add_action( 'init', function() {
	Automattic\Jetpack\Plugin_Deactivation\Deactivation_Handler::init( $plugin_slug, $dialog_view_file_path );
} );
Parameter Description
$plugin_slug Slug of the plugin, e.g. jetpack, jetpack-boost.
$dialog_view_file_path The path to a PHP file that contains the markup for your dialog. Copy src/dialog-template.php to your plugin, customize it, and pass its path as the $dialog_view_file_path.

Controlling the dialog

Using attribute

You can use data-jp-plugin-deactivation-action attribute with the values close|deactivate on any element. Adding this attribute will observe the element and close or deactivate the plugin based on the attribute value.

Example of a button that closes the dialog:


Using the instance

You can access the deactivation dialog instance in window.JetpackPluginDeactivationData[<plugin slug>]. It has access to the following methods:

  • showDialog() - Open the deactivation dialog
  • hideDialog() - Close the deactivation dialog
  • deactivate() - Deactivate the plugin and close the dialog

Using this package in your WordPress plugin

If you plan on using this package in your WordPress plugin, we would recommend that you use Jetpack Autoloader as your autoloader. This will allow for maximum interoperability with other plugins that use this package as well.


Need to report a security vulnerability? Go to or directly to our security bug bounty site


plugin-deactivation is licensed under GNU General Public License v2 (or later)