Refactor plugin removal process in wp-import.php to handle non-empty directories and check for installed plugins before deactivation.
This commit is contained in:
+11
-5
@@ -28,9 +28,12 @@ try {
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
rmdir( './wp-content/plugins/post-smtp' );
|
||||
rmdir( './wp-content/plugins/wordfence' );
|
||||
rmdir( './wp-content/plugins/wp-imgix*' );
|
||||
// Remove plugin directories (must be empty for rmdir; use recursive delete if they contain files).
|
||||
@rmdir( './wp-content/plugins/post-smtp' );
|
||||
@rmdir( './wp-content/plugins/wordfence' );
|
||||
foreach ( glob( './wp-content/plugins/wp-imgix*', GLOB_ONLYDIR ) ?: [] as $dir ) {
|
||||
@rmdir( $dir );
|
||||
}
|
||||
|
||||
$plugins = [
|
||||
'wp-2fa',
|
||||
@@ -63,7 +66,6 @@ $plugins = [
|
||||
'wp-file-manager',
|
||||
'updraftplus',
|
||||
'wp-smushit',
|
||||
'akismet',
|
||||
'leadin',
|
||||
'clickcease-click-fraud-protection',
|
||||
'gtm-server-side',
|
||||
@@ -81,6 +83,10 @@ $plugins = [
|
||||
];
|
||||
|
||||
foreach ( $plugins as $plugin ) {
|
||||
echo shell_exec( "wp plugin deactivate $plugin" );
|
||||
$plugin_esc = escapeshellarg( $plugin );
|
||||
exec( "wp plugin is-installed $plugin_esc 2>/dev/null", $_, $return_code );
|
||||
if ( $return_code === 0 ) {
|
||||
echo shell_exec( "wp plugin deactivate $plugin_esc" );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user