How to Build a WooCommerce Print Shop Order Form With File Upload
Managing a print shop via WooCommerce often leads to one significant issue: artwork submission. Customers tend to send files with the incorrect resolution, overlook mentioning dimensions, and then question why the printed materials appear distorted. Each order often entails a lengthy email conversation before moving to production.
Implementing a file upload order form addresses these concerns proactively. Customers can submit their artwork directly on the product page, select a size, view the adjusted price, and the file is then conveniently linked to their order.
In this guide, we will explore how to create a product page for a print shop featuring a file upload area for artwork submissions, a size selection dropdown with specific pricing, bulk discounts, and some conditional logic to enhance usability. The tool we’ll be using is the PPOM (Personalized Product Option Manager), a WooCommerce plugin developed by Themeisle, the creators of this blog. Consider this a disclosure.
Before we start, it’s important to note that the setup combines free features with Pro functionalities. The size selection dropdown and conditional logic are available in the free version, but the file upload option and bulk pricing are exclusive to the Pro version. Each section in this guide clearly indicates which features require payment to avoid any confusion at checkout.
DISCLAIMER: PPOM is part of the Themeisle product lineup. This tutorial will clearly differentiate between free and paid features, including areas where the free version may be limited.
Overview of the Final Product Page
Our example product will be a custom poster. By the end of this tutorial, the product page will enable customers to:
- Upload their artwork (PDF, JPG, PNG), with restrictions on file type and size before proceeding to checkout.
- Select a print size from a dropdown list, with each option featuring its own price adjustment.
- Obtain bulk discounts automatically when ordering larger quantities.
- See additional options that only show when applicable, thanks to conditional logic.
Here’s how each feature corresponds to PPOM fields and the necessary licensing:
| Feature | PPOM Field | License Tier |
|---|---|---|
| Artwork upload | File Input | Pro |
| Size selection with pricing | Select (per-option pricing) | Free |
| Bulk discounts | Bulk Quantity (or Price Matrix) | Pro |
| Conditional logic | Display Conditions | Free |
Let’s start building!
Step 1: Install PPOM (and add Pro for file uploads)
PPOM’s free version is available in the WordPress plugin repository, where it has over 20,000 active installations and a 4.4 out of 5 rating. Ensure that WooCommerce is set up and at least one product is created before PPOM can be utilised.
- Navigate to
Plugins → Add Newwithin your WordPress dashboard. - Search for PPOM, then click Install followed by Activate.
- For Pro features, purchase a plan from the PPOM Pro page, download the zip file from your Themeisle account, and upload it through
Plugins → Add New → Upload Plugin. - Activate your license key from
Dashboard → Settings → General.
One important note: the free version must remain installed and activated alongside Pro. The Pro version functions as an extension rather than a replacement, so do not deactivate the free plugin after upgrading.
Regarding pricing: the Essential plan is offered at €99 per year for a single site and encompasses all fields used in this tutorial, including upload and bulk pricing. Higher tiers (Plus, VIP) mainly introduce features like Cart Edit and Variation Quantity Matrix, which may not be necessary for a straightforward print shop. Be aware that the introductory price applies to the initial term only; subsequent renewals will be at the full price. There’s a 30-day money-back guarantee if it doesn’t suit your requirements.
Step 2: Set Up the Print-Shop Field Group
PPOM categorizes custom fields into meta groups: reusable sets that can be connected to a single product, an entire category, or targeted variations. For a print shop, you might create a group called something like “Poster Printing Options” to cover the full catalog.
- Head to
WooCommerce → PPOM Fields. - Select Add New Group.
- Opt for Start from scratch, or choose from one of the preset templates. There are print shop and custom print presets that come prefilled with sensible, editable fields.
- Name the group and begin adding fields using the Add field button.

The subsequent steps will involve adding the actual fields. The order in which they are added is crucial for customer experience: upload first, size second, with extras last.
Step 3: Add the Artwork Upload Field (Pro)
The File Input field is the central feature of this setup and is exclusively Pro-only. The free version of PPOM does not support file uploads, so if that feature is your primary concern, the free plugin alone won’t suffice.
- In your field group, click Add field and select File Input.
- Title the field with clear instructions, e.g. “Upload Your Artwork”.
- Mark this field as required, ensuring that the order cannot proceed without a file.
- Go to the field’s advanced settings and specify allowed file types (e.g.,
jpg,png,pdf) and a maximum file size that fits your hosting and operational workflow. - If you’re printing raster images, also set minimum image dimensions to prevent low-resolution logos from being accepted.
A helpful feature: once file types and size limits are established, PPOM displays these restrictions next to the uploader on the product page, allowing customers to see the requirements before they attempt to upload.
PRO TIP: You can also establish global restrictions. In
WooCommerce → Settings → PPOM Settings, the free Basic Settings include an option for Restricted File Types. This blocks executable and script formats universally across all upload fields on your site, not just this one.
Step 4: Create a Size Dropdown with Price Adjustments (Free)
Great news for cost-conscious users: this section doesn’t require any premium licensing. The Select field is a free input type, and per-option pricing is also a free feature. Each size will incur its own additional cost, which PPOM will apply to the base price when a customer makes a selection.
- Insert a Select field and name it “Print Size”.
- Add one size option per entry, such as 12×18 in, 18×24 in, and 24×36 in.
- Assign a price to each size option: for instance, $0 for the smallest (as this is already included in the base price), $6 for the medium, and $14 for the large size. Adjust to reflect your actual margins.
- Designate the most popular size as the default selected option to ensure a sensible choice is pre-selected.
Why opt for Select over Radio? Both are free and support per-option pricing; however, PPOM documentation suggests using Select for larger lists, as a lengthy radio button list consumes valuable vertical space. For three sizes, either option works; for twelve formats, a dropdown maintains a clean page layout.
While you’re here, check the group’s pricing display settings. Show Each Option’s Price enables add-on pricing next to every choice, which is ideal for a short list of sizes. Customers shouldn’t have to estimate costs at a print shop.
Step 5: Configure Bulk Quantity Discounts (Pro)
Printing businesses benefit significantly from discounts based on volume: the 50th poster costs less to produce than the first. The Bulk Quantity field (Pro) allows you to pass these savings onto customers, offering prices that vary based on quantity ordered and selected options, such as size. It’s practically tailored for printing businesses.
- Append a Bulk Quantity field to the group.
- Set up the quantity tiers for each size, with prices that decrease as quantity increases.
- Determine how the price displays: Hide Base Price removes the standard WooCommerce price display, and Show Price Range reveals the full spectrum of potential prices instead of a single static price.
If your discounts are solely dependent on quantity (with a consistent percentage discount irrespective of size), the Price Matrix field serves as a simpler option. Each row reflects a range of quantities with corresponding prices, formatted as start-end: 1-10, 11-50, 51-100. Take note that single figures and ranges with a plus sign (like 50+) are not accepted, and ensure that there are spaces around the hyphen. An Apply as discount option allows you to treat the matrix as a percentage-off interface for your pricing strategy.
Step 6: Integrate Conditional Logic (Free)
Conditional logic enhances the product page by concealing fields until they’re necessary. Basic visibility rules are a free feature within PPOM, and setting them up is straightforward: each field has a Conditions tab where you enable conditions and create show/hide rules based on the values of other fields.
Here’s an example specifically for a print shop that easily operates on the free tier: introduce a Checkbox field labeled “Add Design Help (+$25)”, and then include a Textarea titled “Tell the designer what you require”. Access the Textarea’s Conditions tab, tick Enable Conditions, and configure it to show only when the design-help checkbox is selected. Customers who do not check the box will never see the extra field, keeping the page uncluttered.

One limitation to keep in mind: only choice and text-type inputs (select, checkbox, radio, text, number) can trigger conditions. The File Input field can be conditionally displayed or hidden, but it cannot itself act as a trigger. This rarely poses an issue, but it is something to consider when designing complex workflows around the upload feature.
Step 7: Attach the Group and Review the Product Page
Fields won’t take effect until the group is linked to something. After saving, use the Attach to Products options within the group editor to associate it with your poster product, an entire category, or specific tags. The Pro version also allows for specific product variations to have their own groups, and you can link multiple groups to a single product if your offerings expand beyond what a single group can cover.
Use the Save & Preview button to see the live product page with your fields included. Then, play the role of a discerning customer: upload a file, change sizes, adjust quantities, and observe the price adjustments. If the price display feels overwhelming, the group settings allow you to show only the total for the options, rather than a detailed breakdown.

Storage and Bandwidth: The Less Glamorous Aspects
Every uploaded artwork file is saved on your hosting server. Print-ready PDFs and TIFFs can be quite large, and a busy store gathers these files with each order, potentially leading to an escalating disk footprint, larger backups, and increased bandwidth usage to serve these files to your production processes.
To manage this effectively, consider adopting three key habits:
- Set a realistic maximum file size in the File Input settings. If your printing operation cannot utilize files larger than 50 MB, don’t accept them.
- Limit file types both at the field level and globally in PPOM Settings, as discussed in step 3.
- Establish a cleanup routine: once an order is dispatched and the reprint window closes, decide if the artwork still needs to be stored on the server. Your backup storage will appreciate it.
Test Order Checklist
Before announcing your store to potential customers, place a complete test order and follow this checklist:
- Upload a valid file and verify it appears as an attachment within the order under
WooCommerce → Orders. - Attempt uploading an oversized file and a prohibited file type: both should be denied with your custom error messages and not just cryptic failures.
- Leave the upload field empty and confirm that the Add to Cart button is unresponsive.
- Change sizes and validate that each price modification is accurately reflected in the cart total.
- Order a quantity that fits into a bulk tier and ensure that the discounted per-unit price is applied correctly.
- Toggle your conditional trigger (the design-help checkbox) and check that the associated field appears and disappears appropriately.
- Finalise checkout through a test payment and review order emails, ensuring that the uploaded files and options appear in expected locations for your team.
Ten minutes acting as your own most confused customer can save you a week filled with support emails later on.
Looking for a Broader Perspective?
This tutorial primarily focuses on the setup process. If you’re still considering tools or want a comprehensive overview of features, here are two articles from this blog to review:
- The PPOM review examines each field in-depth, highlighting strengths and weaknesses of the plugin.
- A comparison of WooCommerce product add-ons evaluates PPOM in relation to major competitors, which can be beneficial if file upload is not your only requirement.
Conclusion
An order form for a print shop that includes artwork uploads comprises four essential PPOM components: the File Input field for artwork (Pro), a Select field with pricing based on size (free), a Bulk Quantity or Price Matrix field for volume discounts (Pro), and display conditions to maintain a clean interface (free). Attach the group, thoroughly test the entire order process, and say goodbye to the “please resend your artwork” email threads.
Begin with the free version if you only need priced options and conditional logic for now, and consider upgrading when the upload process becomes a bottleneck. Currently using PPOM or experiencing issues with a specific field? Feel free to leave your questions in the comments below!
FREE GUIDE
4 Essential Steps to Speed Up Your WordPress Website
Implement the simple strategies outlined in our 4-part mini-series to reduce your loading times by 50-80%.
Congratulations! You’ve reached the conclusion of the article!
Share this content:
Discover more from Qureshi
Subscribe to get the latest posts sent to your email.
