diff --git src/js/_enqueues/wp/updates.js src/js/_enqueues/wp/updates.js
index dc342f2..7243f0e 100644
--- src/js/_enqueues/wp/updates.js
+++ src/js/_enqueues/wp/updates.js
@@ -2137,13 +2137,21 @@
* @param {Event} event Event interface.
*/
$bulkActionForm.on( 'click', '[data-plugin] a.delete', function( event ) {
- var $pluginRow = $( event.target ).parents( 'tr' ),
- confirmMessage = sprintf(
+ var $pluginRow = $( event.target ).parents( 'tr' );
+
+ if($(event.target).hasClass('no-plugin-data')){
+ var confirmMessage = sprintf(
+ /* translators: %s: Plugin name. */
+ __( 'Are you sure you want to delete %s? If the plugin has data, this will not be deleted.' ),
+ $pluginRow.find( '.plugin-title strong' ).text()
+ );
+ } else {
+ var confirmMessage = sprintf(
/* translators: %s: Plugin name. */
__( 'Are you sure you want to delete %s and its data?' ),
$pluginRow.find( '.plugin-title strong' ).text()
);
-
+ }
event.preventDefault();
if ( ! window.confirm( confirmMessage ) ) {
diff --git src/wp-admin/includes/class-wp-plugins-list-table.php src/wp-admin/includes/class-wp-plugins-list-table.php
index f257354..3e4b8e0 100644
--- src/wp-admin/includes/class-wp-plugins-list-table.php
+++ src/wp-admin/includes/class-wp-plugins-list-table.php
@@ -758,10 +758,14 @@ class WP_Plugins_List_Table extends WP_List_Table {
}
if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) ) {
+
+ $has_plugin_data = is_uninstallable_plugin($plugin_file) ? "has-plugin-data" : "no-plugin-data";
+
$actions['delete'] = sprintf(
- '%s',
+ '%s',
wp_nonce_url( 'plugins.php?action=delete-selected&checked[]=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s, 'bulk-plugins' ),
esc_attr( $plugin_slug ),
+ " $has_plugin_data",
/* translators: %s: Plugin name. */
esc_attr( sprintf( _x( 'Delete %s', 'plugin' ), $plugin_data['Name'] ) ),
__( 'Delete' )
@@ -812,10 +816,14 @@ class WP_Plugins_List_Table extends WP_List_Table {
}
if ( ! is_multisite() && current_user_can( 'delete_plugins' ) ) {
+
+ $has_plugin_data = is_uninstallable_plugin($plugin_file) ? "has-plugin-data" : "no-plugin-data";
+
$actions['delete'] = sprintf(
- '%s',
+ '%s',
wp_nonce_url( 'plugins.php?action=delete-selected&checked[]=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s, 'bulk-plugins' ),
esc_attr( $plugin_slug ),
+ " $has_plugin_data",
/* translators: %s: Plugin name. */
esc_attr( sprintf( _x( 'Delete %s', 'plugin' ), $plugin_data['Name'] ) ),
__( 'Delete' )