Title: Zevvo File Upload for WooCommerce
Author: zevvolabs
Published: <strong>16 avril 2026</strong>
Last modified: 16 avril 2026

---

Recherche d’extensions

![](https://ps.w.org/zevvo-file-uploads/assets/banner-772x250.png?rev=3508264)

![](https://ps.w.org/zevvo-file-uploads/assets/icon-256x256.png?rev=3508264)

# Zevvo File Upload for WooCommerce

 Par [zevvolabs](https://profiles.wordpress.org/zevvolabs/)

[Télécharger](https://downloads.wordpress.org/plugin/zevvo-file-uploads.1.0.0.zip)

 * [Détails](https://fr.wordpress.org/plugins/zevvo-file-uploads/#description)
 * [Avis](https://fr.wordpress.org/plugins/zevvo-file-uploads/#reviews)
 *  [Installation](https://fr.wordpress.org/plugins/zevvo-file-uploads/#installation)
 * [Développement](https://fr.wordpress.org/plugins/zevvo-file-uploads/#developers)

 [Support](https://wordpress.org/support/plugin/zevvo-file-uploads/)

## Description

**Zevvo File Upload for WooCommerce** allows your customers to upload files directly
on product pages and have those files automatically attached to their orders. Whether
you run a print-on-demand store, a custom gift shop, or any business that needs 
customer-supplied files, Zevvo handles it securely and smoothly.

Built from the ground up for **HPOS (High-Performance Order Storage)** compatibility,
it works with both the classic and block-based WooCommerce cart and checkout.

#### Features

 * **Product-Level Configuration** — Enable file uploads per product with its own
   settings
 * **Required Upload Option** — Mark the upload field as required before adding 
   to cart
 * **Flexible File Types** — Support for JPG, PNG, GIF, WebP, PDF, and ZIP — toggle
   per product
 * **File Size Control** — Set maximum file size per product (default: 10 MB)
 * **Multiple Files** — Allow up to 5 files per product upload field
 * **Drag & Drop Interface** — Clean, responsive drag-and-drop upload zone with 
   keyboard support
 * **File Previews** — In-browser image and PDF previews before upload
 * **Thumbnail Previews in Cart & Orders** — Image thumbnails and file icons in 
   cart, checkout, and order pages
 * **Admin File Dashboard** — View, download, trash, and permanently delete all 
   uploaded files from one screen
 * **CSV Export** — Export all uploaded file data to CSV for reporting
 * **Trash & Restore** — Soft-delete files with one-click restore from trash
 * **Automatic Cleanup** — Daily cron job removes orphaned pending files (older 
   than 24 hours)
 * **Order Integration** — Files automatically attach to orders at checkout and 
   display in order details
 * **Email Notifications** — File thumbnails and icons included in WooCommerce order
   confirmation emails
 * **HPOS Compatible** — Full support for WooCommerce High-Performance Order Storage
 * **Blocks Compatible** — Works with Gutenberg block-based cart and checkout
 * **Secure Storage** — Files stored with randomized names in a protected directory(.
   htaccess + index.php)
 * **Developer Hooks** — Filters and actions for extending behavior without modifying
   plugin files

#### Perfect For

 * Print-on-demand stores (T-shirts, mugs, posters, etc.)
 * Custom engraving or embroidery shops
 * Personalized gift and keepsake stores
 * Photo printing and canvas services
 * Graphic design and artwork commissions
 * Legal, medical, or document processing services
 * Any WooCommerce store that needs customer-supplied files

#### Security & Reliability

 * Strict MIME type validation using WordPress’s `wp_check_filetype_and_ext()`
 * Server-side re-validation on every upload request
 * Files stored with MD5-hashed filenames — original names are never exposed on 
   disk
 * Upload directory protected with `.htaccess` (denies PHP execution + directory
   listing)
 * `index.php` sentinel file prevents directory browsing on all servers
 * Per-session upload abuse limit (configurable via filter) prevents server exhaustion
 * Per-page-load context ID system enforces per-product file count limits strictly
 * Nonce verification on all AJAX requests and form submissions
 * GDPR-friendly: automatic cleanup of pending (unattached) files via daily cron

## Blocs

Cette extension fournit 1 bloc.

 *   Zevvo File Upload

## Installation

 1. Upload the plugin files to `/wp-content/plugins/zevvo-file-uploads`, or install
    directly through the WordPress plugins screen
 2. Activate the plugin through the **Plugins** screen in WordPress
 3. Click **Settings** under the plugin name on the Plugins page, or go to **WooCommerce
    Zevvo Uploads**
 4. Edit any WooCommerce product and find the **Zevvo File Uploads** metabox in the
    product sidebar
 5. Check **Enable File Uploads**, choose allowed file types, set size and count limits,
    then save
 6. Customers will now see the upload field on that product’s page

## FAQ

### Is this compatible with HPOS?

Yes. Zevvo File Upload is built specifically for WooCommerce’s High-Performance 
Order Storage (HPOS) and works with both HPOS and legacy (post-based) order storage.

### What file types are supported?

The plugin supports JPG, PNG, GIF, WebP, PDF, and ZIP. Each file type can be toggled
on or off per product from the product metabox.

### Where are files stored?

Files are stored in your WordPress uploads directory at `wp-content/uploads/zevvo_uploads/`.
Filenames are randomized (MD5 hash) for security. The directory is protected with`.
htaccess` rules that prevent PHP execution and directory listing.

**Note for Nginx users:** `.htaccess` rules don’t apply on Nginx. Files are still
protected by random hashed names, but we recommend configuring your Nginx server
block to deny direct access to the `zevvo_uploads` directory for additional protection.

### Can I set a file size limit?

Yes. Each product has its own maximum file size setting (in MB). The default is 
10 MB.

### How do I view uploaded files?

Go to **WooCommerce  Zevvo Uploads** in your admin. You’ll see all uploaded files
with options to view (with in-admin preview), download, move to trash, or permanently
delete.

### Are files shown in order emails?

Yes. Image uploads appear as thumbnail previews and documents (PDF, ZIP) appear 
as file icons in WooCommerce order confirmation emails sent to both customers and
admins.

### What happens to files when an order is cancelled?

Files remain in the system and stay attached to the order. You can manually delete
them from the admin dashboard.

### Does this work with variable products?

Yes. File upload settings are configured on the parent product and apply to all 
variations.

### Can customers upload multiple files?

Yes. You can allow 1 to 5 files per product. The upload field displays a counter
showing how many files have been selected out of the allowed maximum.

### Can I make the upload field required?

Yes. Check the **Required Field** option in the product metabox. Customers will 
not be able to add the product to cart without uploading at least one file.

### Is there a file upload limit per order?

No order-level limit. Each product in the cart can have its own independent file
upload configuration.

### What about theme compatibility?

The plugin works with any properly-coded WooCommerce theme. It uses standard WooCommerce
hooks for classic themes, and includes Store API integration for block-based cart
and checkout.

### Can I export uploaded files data?

Yes. Go to **WooCommerce  Zevvo Uploads**, navigate to the **Process Uploads** tab,
and click the **Export CSV** button to download all file records as a CSV file.

### How does automatic cleanup work?

A daily WordPress cron job removes « pending » files (uploaded but never attached
to an order) that are older than 24 hours. This prevents orphaned files from accumulating
on your server. The retention period for _attached_ files is configurable in the
plugin settings.

### How do I customize file upload behavior with code?

The plugin provides the following filters and actions for developers:

**Filters:**
 * `zevvo_allowed_file_types` — Modify allowed MIME types for a product`(
$types, $product_id)` * `zevvo_max_upload_size` — Modify the maximum file size in
MB `($size_mb, $product_id)` * `zevvo_max_files_count` — Modify the maximum number
of files `($max_files, $product_id)` * `zevvo_session_abuse_limit` — Change the 
per-session global upload ceiling `($limit)`

**Actions:**
 * `zevvo_validate_upload` — Run custom validation before a file is
saved `($file, $post_id)`

See the `docs/DEVELOPER-HOOKS.md` file in the plugin directory for usage examples.

### Is this GDPR compliant?

Yes. Pending (unattached) files are automatically deleted after 24 hours. Attached
files are stored only as long as needed for order processing, and you can configure
automatic deletion after a set number of days in the plugin settings.

### Does it work with Gutenberg blocks?

Yes. The plugin includes a Gutenberg block for product pages and is fully compatible
with the WooCommerce block-based cart and checkout via the Store API integration.

### What if I need help?

Use the WordPress.org support forum for this plugin.

## Avis

Il n’y a aucun avis pour cette extension.

## Contributeurs/contributrices & développeurs/développeuses

« Zevvo File Upload for WooCommerce » est un logiciel libre. Les personnes suivantes
ont contribué à cette extension.

Contributeurs

 *   [ zevvolabs ](https://profiles.wordpress.org/zevvolabs/)

[Traduisez « Zevvo File Upload for WooCommerce » dans votre langue.](https://translate.wordpress.org/projects/wp-plugins/zevvo-file-uploads)

### Le développement vous intéresse ?

[Parcourir le code](https://plugins.trac.wordpress.org/browser/zevvo-file-uploads/),
consulter le [SVN dépôt](https://plugins.svn.wordpress.org/zevvo-file-uploads/),
ou s’inscrire au [journal de développement](https://plugins.trac.wordpress.org/log/zevvo-file-uploads/)
par [RSS](https://plugins.trac.wordpress.org/log/zevvo-file-uploads/?limit=100&mode=stop_on_copy&format=rss).

## Journal des modifications

#### 1.0.0

 * Initial release
 * Per-product file upload configuration with enable/disable toggle
 * Required upload field option — prevents add-to-cart without a file
 * Support for JPG, PNG, GIF, WebP, PDF, and ZIP file types
 * Drag-and-drop upload zone with keyboard accessibility and in-browser file preview
 * Up to 5 files per product
 * Admin dashboard with file view, download, trash, restore, and permanent delete
 * CSV export of all upload records
 * Thumbnail previews in cart, checkout, and order detail pages
 * File previews (thumbnails + icons) in WooCommerce order emails
 * HPOS (High-Performance Order Storage) compatibility declared
 * Block-based cart and checkout support via WooCommerce Store API
 * Secure file storage: randomized (hashed) filenames, protected upload directory
 * Per-session abuse limit and per-page-load context ID for strict file count enforcement
 * Automatic daily cron cleanup of orphaned pending files
 * Developer filters: `zevvo_allowed_file_types`, `zevvo_max_upload_size`, `zevvo_max_files_count`,`
   zevvo_session_abuse_limit`
 * Developer action: `zevvo_validate_upload`
 * Mobile-responsive interface

## Méta

 *  Version **1.0.0**
 *  Dernière mise à jour **il y a 4 semaines**
 *  Installations actives **Moins de 10**
 *  Version de WordPress ** 6.0 ou plus **
 *  Testé jusqu’à **6.9.4**
 *  Version de PHP ** 7.4 ou plus **
 *  Langue
 * [English (US)](https://wordpress.org/plugins/zevvo-file-uploads/)
 * Étiquettes
 * [checkout](https://fr.wordpress.org/plugins/tags/checkout/)[file upload](https://fr.wordpress.org/plugins/tags/file-upload/)
   [Product Addons](https://fr.wordpress.org/plugins/tags/product-addons/)[woocommerce](https://fr.wordpress.org/plugins/tags/woocommerce/)
 *  [Vue avancée](https://fr.wordpress.org/plugins/zevvo-file-uploads/advanced/)

## Évaluations

Aucun avis n’a encore été envoyé.

[Your review](https://wordpress.org/support/plugin/zevvo-file-uploads/reviews/#new-post)

[Voir tous les avis](https://wordpress.org/support/plugin/zevvo-file-uploads/reviews/)

## Contributeurs

 *   [ zevvolabs ](https://profiles.wordpress.org/zevvolabs/)

## Support

Quelque chose à dire ? Besoin d’aide ?

 [Voir le forum de support](https://wordpress.org/support/plugin/zevvo-file-uploads/)