What It Does
Package Downloader adds a "Download" action link to the Plugins list page and Themes page. Clicking it creates a ZIP archive of the plugin or theme directory on the fly and triggers a browser download. This is useful for backing up a specific plugin before updating, transferring plugins between sites, or archiving a theme configuration.
Features
- "Download" action link added to every plugin on the Plugins list page
- "Download" link added to the Themes page — both in theme row metadata and on the modern theme card UI
- Download button injected into the theme details modal overlay
- Handles both directory-based plugins and single-file plugins
- Creates ZIP archives on the fly using PHP ZipArchive — no temp files left behind
- Path traversal protection — validates paths and resolves symlinks to prevent directory escape attacks
- Nonce-protected download URLs for security
How to Use
-
Download a plugin
Go to Plugins > Installed Plugins. Each plugin now has a "Download" link in its action row (next to Activate, Edit, Delete). Click it to download the plugin as a ZIP file.
-
Download a theme
Go to Appearance > Themes. In list view, each theme has a "Download" link in its metadata row. In card view, download buttons are added to theme action areas and the detail modal.
FAQ
Does it include the plugin's database data?
No. It only packages the plugin or theme files. Database settings, options, and custom tables are not included.
Can I download must-use (mu) plugins?
No. The download links only appear on the standard Plugins list page and Themes page. MU-plugins are not listed there.
Where is the ZIP file created?
A temporary file is created using wp_tempnam(), streamed to the browser, and immediately deleted from the server. No ZIP files accumulate on disk.
Is there a size limit?
The ZIP is created in memory and streamed. Very large plugins or themes may hit PHP memory limits or execution time limits. Most plugins and themes are well under these limits.
Ready to optimize your WordPress site?
Join developers using WP Multitool to debug, optimize, and maintain WordPress.
Get WP Multitool