public static function bulk_archive($checked) { global $wp_filesystem; $plugins = get_plugins(); $form_fields = $_REQUEST; $url = add_query_arg($form_fields, admin_url('plugins.php')); ob_start(); $creds = request_filesystem_credentials($url, get_filesystem_method(), false, false); $output = ob_get_contents(); ob_end_clean(); if ($creds) { WP_Filesystem($creds); $archive_dir = trailingslashit($wp_filesystem->wp_content_dir() . self::$options['archive_dir']); $wp_filesystem->mkdir($archive_dir); $count = 0; foreach ($_REQUEST['checked'] as $plugin) { if (isset($plugins[$plugin])) { $target_dir = self::plugin_basename($plugin, $archive_dir); $plugin_dir = self::plugin_basename($plugin, WP_PLUGIN_DIR); if (self::$options['deactivate']) { deactivate_plugins($plugin); } $result = $wp_filesystem->move($plugin_dir, $target_dir); if ($result) { $count++; } } } self::$count = $count; } else { unset($_REQUEST['success_action']); require_once ABSPATH . 'wp-admin/admin.php'; require_once ABSPATH . 'wp-admin/admin-header.php'; echo '<div class="wrap">'; echo $output; echo '</div>'; include ABSPATH . 'wp-admin/admin-footer.php'; die(''); } }