From 4f6d5aa034a68715df14a2fcab421a59fdda248d Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Wed, 30 Dec 2015 22:37:49 +0000 Subject: [PATCH] Plugins: Add a new `pre_uninstall_plugin` action that runs right before uninstalling a plugin. Fixes #34569. git-svn-id: https://develop.svn.wordpress.org/trunk@36124 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/plugin.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/wp-admin/includes/plugin.php b/src/wp-admin/includes/plugin.php index 854d7e7f9b..415ef5b5ea 100644 --- a/src/wp-admin/includes/plugin.php +++ b/src/wp-admin/includes/plugin.php @@ -971,6 +971,17 @@ function uninstall_plugin($plugin) { $file = plugin_basename($plugin); $uninstallable_plugins = (array) get_option('uninstall_plugins'); + + /** + * Fires in uninstall_plugin() before the plugin is uninstalled. + * + * @since 4.5.0 + * + * @param string $plugin Relative plugin path from plugin directory. + * @param array $uninstallable_plugins Uninstallable plugins. + */ + do_action( 'pre_uninstall_plugin', $plugin, $uninstallable_plugins ); + if ( file_exists( WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php' ) ) { if ( isset( $uninstallable_plugins[$file] ) ) { unset($uninstallable_plugins[$file]);