automattic/jetpack-plugin-deactivation

Ask for feedback while deactivating a plugin

Installs: 2 160

Dependents: 1

Suggesters: 0

Security: 0

Stars: 1

Watchers: 4

Forks: 0

Type:jetpack-library

v0.2.1 2024-03-15 05:27 UTC

This package is auto-updated.

Last update: 2024-04-26 16:20:39 UTC


README

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:

<button 
		type="button"
		class="jp-plugin-deactivation__button"
		data-jp-plugin-deactivation-action="close"
	>Cancel</button>

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.

Security

Need to report a security vulnerability? Go to https://automattic.com/security/ or directly to our security bug bounty site https://hackerone.com/automattic.

License

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