From 26c296c3974a280f249ce781cfb3eef3875babc2 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sun, 12 Jul 2020 13:20:58 +0000 Subject: [PATCH] Plugins: Make delete plugin message less scary. This adds a check if the plugin actually has an uninstall routine before saying that its data will be deleted too. Props samful, joostdevalk, joyously, Chouby, SergeyBiryukov. Fixes #50346. git-svn-id: https://develop.svn.wordpress.org/trunk@48451 602fd350-edb4-49c9-b593-d223f7449a82 --- src/js/_enqueues/wp/updates.js | 10 ++++++++++ src/wp-admin/includes/class-wp-plugins-list-table.php | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/src/js/_enqueues/wp/updates.js b/src/js/_enqueues/wp/updates.js index 0743ac3780..c243611eb6 100644 --- a/src/js/_enqueues/wp/updates.js +++ b/src/js/_enqueues/wp/updates.js @@ -2138,11 +2138,21 @@ */ $bulkActionForm.on( 'click', '[data-plugin] a.delete', function( event ) { var $pluginRow = $( event.target ).parents( 'tr' ), + confirmMessage; + + if ( $pluginRow.hasClass( 'is-uninstallable' ) ) { confirmMessage = sprintf( /* translators: %s: Plugin name. */ __( 'Are you sure you want to delete %s and its data?' ), $pluginRow.find( '.plugin-title strong' ).text() ); + } else { + confirmMessage = sprintf( + /* translators: %s: Plugin name. */ + __( 'Are you sure you want to delete %s?' ), + $pluginRow.find( '.plugin-title strong' ).text() + ); + } event.preventDefault(); diff --git a/src/wp-admin/includes/class-wp-plugins-list-table.php b/src/wp-admin/includes/class-wp-plugins-list-table.php index 9e5881976c..56bc665b66 100644 --- a/src/wp-admin/includes/class-wp-plugins-list-table.php +++ b/src/wp-admin/includes/class-wp-plugins-list-table.php @@ -942,6 +942,10 @@ class WP_Plugins_List_Table extends WP_List_Table { $class .= ' paused'; } + if ( is_uninstallable_plugin( $plugin_file ) ) { + $class .= ' is-uninstallable'; + } + printf( '', esc_attr( $class ),