WordPress plugin
Product Attachment for WooCommerce Pro: Files by Order Status
Product Attachment for WooCommerce Pro lets store owners add uploaded files or external URLs to products. Attachments can be viewable or downloadable on product detail pages, order details pages, or both, depending on the configured setup. Supported examples include files, JPG images, videos, PDFs, and other file types allowed by the store.
Attach files to products and orders
Product Attachment for WooCommerce Pro lets store owners add uploaded files or external URLs to products. Attachments can be viewable or downloadable on product detail pages, order details pages, or both, depending on the configured setup. Supported examples include files, JPG images, videos, PDFs, and other file types allowed by the store.
Create one or more attachments from a product edit page. Each attachment has its own name, description, file or URL, order status selection, and expiry setting.
Set access by page and order status
For attachments shown on order details pages, select the order status that makes the download available. When the order matches that status, the attachment download becomes available. Supported statuses include:
- Pending payment
- Processing
- On hold
- Completed
- Cancelled
- Refunded
- Failed
Set an expiry for an order attachment download link. An email setting controls whether attachments are included in customer emails.
Assign attachments in bulk
Apply attachments to all products, variable products, or multiple selected products. Assign them to categories and include or exclude selected products and categories as needed.
Set up an attachment
After adding the Pro plugin to a WooCommerce website, make an attachment in the relevant product settings. Enter its name and description, choose a file upload or external URL, choose products or categories, then configure page visibility, order status, and expiry. Review the attachment on the product or order details page and adjust its email setting if needed.
WordPress may block some document types for security reasons. The source notes that define('ALLOW_UNFILTERED_UPLOADS', true); can be added to wp-config.php when allowing all upload types is required.

