Let visitors download multiple files as one zip Pro
WordPress has no bulk download. Why pre-zipping files breaks down, and how multi-select zip downloads deliver a visitor's selection as one archive.
An onboarding pack, a policy binder, a project’s document set — some files belong together, and making a visitor click fifteen separate download links is where good document pages quietly fail. WordPress has no native "select several, download as zip" behavior, so site owners usually reach for a workaround that ages badly. Here’s the problem, the workaround’s hidden cost, and the proper fix.
FileDeck Pro — multi-select zip downloads are included in all Pro plans. See pricing
Why there’s no "download all" in WordPress
WordPress serves each uploaded file as its own URL, one request per file. Nothing in core can bundle several files into a single archive on demand — that requires something server-side to collect the files and build a zip at download time.
The workaround everyone tries: pre-zipped bundles
The usual fix is zipping the files on your computer and uploading the archive as one more file. It works on day one and decays from there:
- Updates break it. Replace one policy inside the bundle and you must rebuild and re-upload the zip — every time, forever. Sooner or later the zip and the individual files disagree.
- It’s all-or-nothing. Visitors who need three of the fifteen files still download everything.
- It sidesteps your tracking and permissions. The zip is one opaque file — per-document download counts and access rules don’t see inside it.
The proper fix: build the zip at download time
With FileDeck Pro’s multi-select zip downloads, visitors tick checkboxes next to the documents they want and click one button; the server builds the archive from the current files on the spot. That means:
- documents update individually, and every zip is automatically current;
- visitors choose exactly what they need — three files or the whole set;
- each document in the zip increments its own download counter, and access restrictions are respected — a document the visitor can’t access doesn’t ride along in the archive.
Set it up
- Organize the documents that belong together using categories and tags — a category page effectively becomes the "folder" visitors can bulk-download from.
- Enable multi-select zip downloads (Pro) — setup details in multi-select zip downloads.
- Your library layouts show selection checkboxes and a download button; no template changes needed.
Server notes worth knowing
Zips are built with PHP’s ZipArchive at request time. For typical document sets (dozens of PDFs) this is instant; for very large selections, generation time and PHP limits are the constraint to watch — see troubleshooting downloads if large archives misbehave on a constrained host.
When not to bulk-zip
If a document set mixes public and restricted files, remember the zip respects permissions — a logged-out visitor bulk-downloading a mixed category gets only the public files, which can look like "missing files" to them. For genuinely sensitive sets, consider keeping restricted documents in their own restricted category with its own page, so expectations stay clear.
FAQ
Can visitors download a whole folder of documents at once?
Yes — organize the folder as a FileDeck category, and Pro’s multi-select lets visitors tick everything (or just what they need) and download one zip built from the current files.
Do zipped downloads still count in my statistics?
Yes. Each document inside the archive increments its own lifetime counter, so your per-document numbers stay honest.
Does the zip include restricted documents?
Only for visitors allowed to access them — permissions are checked per document when the archive is built.
What does the server need?
PHP’s ZipArchive extension, which nearly all hosts include. See multi-select zip downloads for specifics.
Still stuck? Email [email protected].