PPOM – Product Addons & Custom Fields for WooCommerce

Description

Are you a WooCommerce store owner looking to offer personalized products? PPOM (Personalized Product Option Manager) is your solution for crafting custom product options and addons tailored to customer needs. This plugin simplifies adding custom fields directly to your product pages, including text inputs, dropdown menus, checkboxes, radio buttons, date pickers, file uploads, and more to enhance the shopping experience.

Quick Links

Why Choose PPOM?

  • Customize with Ease: Add custom fields and product add-ons directly to your product pages, creating flexible, personalized shopping experiences.

  • Increase Sales Potential: With dynamic pricing adjustments and enticing customization options, you empower customers to get exactly what they want, increasing both satisfaction and sales.

Increase sales and customer satisfaction by offering tailored product options and add-ons. PPOM is built for WooCommerce stores that need unique, customizable products.

Input Types in Free Version:

πŸ“Œ Text: Displays an input box for text personalization like ‘Name on Mug’. View Demo

πŸ“Œ Textarea: Displays a larger text box for longer text personalization. View Demo

πŸ“Œ Select Options (with price): Dropdown for selecting a single option. Best for many options. Supports per-option pricing. View Demo

πŸ“Œ Radio Options (with price): Radio buttons for selecting a single option. Best for fewer options. View Demo

πŸ“Œ Checkbox Options (with price): Checkboxes for selecting multiple options. Supports per-option pricing. View Demo

πŸ“Œ Date: Let customers pick a date (e.g., date of birth). View Demo

πŸ“Œ Email: Email input displays an input box that allows users to add an email address. View Demo

πŸ“Œ Number: Number input for digits only (e.g., phone numbers, IDs). View Demo

πŸ“Œ Hidden: An invisible field that stores a default value (e.g., a product code) β€” it appears in the cart and order details but not on the product page. View Demo

Features in Free Version:

πŸ“Œ Prices with Options: Enable dynamic pricing for custom features, ensuring each choice reflects its value.

πŸ“Œ Conditional Logic: Show or hide fields based on user inputs or specific criteria.

πŸ“Œ Tooltip: Displays helpful descriptions on hover without cluttering the interface.

πŸ“Œ CSS Classes: Assign CSS classes to each input for enhanced styling.

πŸ“Œ Fields Width: Easily control the layout by adjusting the width of each field.

πŸ“Œ Min/Max Length: Set minimum and maximum values for text or number inputs.

πŸ“Œ Input Masking: Ensures users input data in predefined formats for accuracy and consistency.

πŸ“Œ Placeholder: Establish placeholders for text, textarea, and number inputs.

πŸ“Œ Fields Validation: Mark fields as required to ensure data completeness.

πŸ“Œ Error Messaging: Define custom error messages for required fields.

πŸ“Œ Field Description: Use HTML tags to enhance field descriptions.

πŸ“Œ Price Display Options: Choose how to display additional prices, such as hiding them, showing only the total, or displaying them itemized.

πŸ“Œ Fields Privacy: Set field visibility based on criteria such as visible to everyone, guests, or specific user roles.

πŸ“Œ Apply via Category: Deploy PPOM fields category-wide to save time, or apply them to individual products as needed.

πŸ“Œ Compatibility with Advanced Order Export For WooCommerce plugin: Streamlines data exports, supporting CSV, XLS, XML, and JSON formats for all custom fields.

πŸ“Œ Multi-Language Support: Ready for WPML and Polylang, enhancing global usability.

Video Guide

PPOM PRO Inputs:

πŸ’Ž Audio/Video: Allow customers to select audio/video from predefined audios/videos by admin. View Demo

πŸ’Ž Bulk Quantity: Set discount prices for larger quantities. Ideal for printing and design businesses. View Demo

πŸ’Ž Chained Input: Renders chained input in the dropdown. View Demo

πŸ’Ž Collapse Input: This input acts like a parent block for managing grouped inputs. View Demo

πŸ’Ž Color Palette: Allow customers to select color(s) from a predefined set of colors by admin. View Demo

πŸ’Ž Color Picker: Allow customers to select any colors and save Hex value. View Demo

πŸ’Ž Conditional Images Input: Display different info based on the chosen images. View Demo

πŸ’Ž Date Range: Select two dates between from and to. View Demo

πŸ’Ž Divider Input: Visually separates meta fields for better product page design. View Demo

πŸ’Ž Domain Input: Check web domain availability. View Demo

πŸ’Ž Emojis Input: View Demo

πŸ’Ž File Upload: Allow customers to upload files with configurable file types and size limits. Includes progress bar and thumbnail display. View Demo

πŸ’Ž Fixed Price Input: Set fixed prices with Add Option / First Option. View Demo

πŸ’Ž Fonts Picker: Allows you to insert text and select the desired font for it, offering a preview. View Demo

πŸ’Ž HTML Content: Add HTML tags, like p or h1 tags, to add more details for your extra fields. View Demo

πŸ’Ž Image Cropper: Allows users to upload and crop images. View Demo

πŸ’Ž Image Dropdown Input: Dropdown with images for complex pricing options like print packages. View Demo

πŸ’Ž Images Options: Image input is just like Radio/Checkbox, but images can be uploaded against each option. View Demo

πŸ’Ž Measure Input: Set prices for measure units like milk, clothes & frames, etc. View Demo

πŸ’Ž Phone Input: Phone number input field, useful for business cards and marketing products. View Demo

πŸ’Ž Price Matrix with Discount: Set tiered or discount prices on bulk purchases. View Demo

πŸ’Ž Personalized Preview: Users can type text, customize font, and preview how it appears on the product image. View Demo

πŸ’Ž Quantities Pack Input: Create multiple-choice product pages where users can buy different quantities of product variants. View Demo

πŸ’Ž Quantity Option Input: Add quantity fields for extras (e.g., additional bookmarks with a book purchase). View Demo

πŸ’Ž Radio Switcher Input: Visual radio buttons with different images for each option. View Demo

πŸ’Ž Select Option Quantity Input: This input allows you to display a dropdown with options along with their quantities. View Demo

πŸ’Ž Superlist Input: Predefined dropdowns for common data like languages, countries, and currencies. View Demo

πŸ’Ž Text Counter: This input is a special text input that can restrict the total number of words or characters. View Demo

πŸ’Ž Timezone: Let customers select a timezone from a pre-defined list. Admins can include or exclude specific zones. View Demo

πŸ’Ž Variation Matrix Input: Allow customers to order different quantities for different options like sizes or colors. View Demo

πŸ’Ž Variation Quantities: Allow customers to order different quantities for different options. View Demo

PPOM PRO Features:

πŸ’Ž More Conditional Logic Operators: Expand conditional logic for text and numeric fields with operators like contains, regex, between, multiples, less than, greater than, is odd, is even, and more.

πŸ’Ž Custom CSS & Javascript: Add custom CSS and JavaScript for full control over field appearance and behavior.

πŸ’Ž Apply via Product Tags: Attach fields to products using product tags.

πŸ’Ž Options Prices Taxable: Apply tax settings to product options for accurate pricing.

πŸ’Ž Weight Options: Weight can be assigned for options.

πŸ’Ž Multiple Meta Groups: Assign multiple meta groups to a single product.

πŸ’Ž Import/Export: You can use PPOM to import or export your custom fields directly from PPOM settings.

πŸ’Ž Instant Validation: Check required fields in real time without reloading the page.

πŸ’Ž PPOM Repeater: Repeat meta-field groups as needed.

πŸ’Ž Compatibility with WooCommerce Currency Switcher: Seamlessly switch currencies to accommodate global customers.

πŸ’Ž Compatibility with WPML Currency Switcher: Offers dynamic currency switching to match customer location.

πŸ’Ž Compatibility with Wholesale Plugin: Integrates with WooCommerce Wholesale for differentiated pricing structures.

πŸ’Ž Compatible with all WooCommerce themes: Works with all WooCommerce themes, ensuring consistency and efficiency.

More Add-ons in PPOM PRO:

βœ… Conditional Repeater: Automatically repeat fields based on quantity entered. Example: customer orders 5 caps and gets 5 name fields for personalization. VIEW DEMO

βœ… Cart Edit: Allow customers to modify their orders from the cart page.

βœ… Fields Popup: Display PPOM fields inside a popup on the product page.

βœ… Collapse Settings: Control whether grouped fields start expanded or collapsed, and style them with custom colors, icons, and tab-style navigation.

βœ… Enquiry Form: Collect custom customer inquiries directly from your product pages.

Interested in PPOM PRO? Learn more

Use Cases

🍰 Bakery: Customers choose cake sizes, flavors, and decorations.

πŸ’ Jewelry Store: Offer material choices (gold, silver, platinum), gemstones, and custom engravings.

🌍 Travel and Tours: Let customers select destinations, accommodations, and activities with conditional options.

πŸ‘• Custom Apparel: Allow fabric, color, and design uploads for personalized clothing.

See what real users say about us:

  • β€œBest than Best” – With help of this plugin, I could able to add some extra items to my main product with ability do increase and decrease the price. Thanks guys, keep it going…

  • β€œPerfect for Different Types of Websites” – Great plugin that I use across 3 different types of website with no problems. Highly recommend it as its easy to use even for a beginner like me!

  • β€œSimply the best, better than all the rest” – This review is more about PPOM Pro, than the free version. However what’s considered Pro at the competion, is Free here. And what’s Pro about PPOM is actually Ultra. Features like custom font pickers are simply stellar. Saves months of coding. TL;DR: ThemeIsle has made the #1 PPOM plugin in the entire WooCommerce space.

  • β€œAmazing plugin” – I love this plugin! I use the free version and I’m extremely happy with it. I would highly recommend it to anyone needing to add on extras to their products in WooCommerce.

Support

Need help? Open a thread on the Support Forum.

Documentation

View the documentation.

Contribute

PPOM is open-source. Contribute on GitHub.

Useful Resources

How to report a security issue?

Plugin security is a core priority for us. If you identify a potential vulnerability, we ask that you disclose it responsibly.

Please follow the reporting protocols outlined on our Security Page.

Screenshots

  • PPOM Fields Walkthrough
  • Create a Select Field
  • Add Custom Pricing to Options
  • Custom Fields Input Data is Available on the Cart and Order Details Pages
  • Attach Products by Name or Category
  • Apply Display Condition Rules

Installation

  1. Upload the plugin directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the Plugins menu in WordPress
  3. After activation, you can set options from the WooCommerce -> PPOM Settings menu.

FAQ

Where can I find documentation for WooCommerce Product Addon?

Installation & Overview
Docs for Free Inputs

Can I add fields to Variable Products?

Yes.

Are there any field limits?

No, but your server’s PHP memory or POST size limits may affect how many fields load correctly. Check with your host if you experience issues.

Can I add prices to options?

Yes, prices can be added to Select, Radio, and Checkbox fields.

Can I see a demo?

Yes, view demo here.

Reviews

April 30, 2026 1 reply
Hello PPOM Support Team, I am experiencing an issue on my WooCommerce site where the dynamic price table and subtotal container of PPOM fail to load on my translated product pages. I am using the PPOM Free version alongside Polylang for WooCommerce. The Problem: On my primary language (Greek) product page, everything works perfectly. However, on the translated (English) product page, the price table does not render when options are selected. Upon inspecting the DOM, I found that the hidden input for ppom_option_price is completely empty on the English page, which breaks the dynamic price calculation: Greek Page (Works):English Page (Fails):Troubleshooting Steps I Have Already Taken: To isolate the issue, I ran several tests and confirmed the following: The PPOM Group Settings are correct: If I attach the English PPOM Group to the Greek product, it works perfectly.The PPOM Fields are not the issue: If I attach the working Greek PPOM Group to the English product, the array is still empty.WooCommerce data is healthy: I queried the database directly. Both the Greek and English products have a standard _price of 31.90, the exact same tax status, and identical decimal/thousand separators.No PHP Fatal Errors: There are no silent PHP errors crashing the page, and the base json_encode() function works fine in the English environment.Loco Translate is not interfering: I bypassed translation files temporarily, and the issue persisted.Conclusion: It appears that when the WordPress environment is set to the secondary language (English), Polylang is somehow intercepting or stripping the product price context when PPOM attempts to build the ppom_option_price array, resulting in a blank value. Is this a know bug? Is there a known workaround? Thank you for your time and help!
November 12, 2025
Warning to β€œold” Pro users: Do not update to version 33, stay with V 32.0.27. Otherwise, your old Pro license will no longer be recognized and you will not be able to configure Pro settings or create new Pro fields.According to ThemeIsle, this is now the case and you will need to purchase a new annual Pro license.
October 13, 2025 1 reply
I installed PPOM for WooCommerce by mistake directly from the WooCommerce interface. The plugin was never activated, but when I try to delete it from the WordPress dashboard, nothing happens β€” the β€œDelete” button doesn’t respond and the plugin just stays there. There’s no visible error message, and everything else on the site is working normally. I’ve tried refreshing, clearing cache, and reloading the Plugins page, but the issue persists. Could you please advise on how to completely remove the plugin from WordPress? Thank you for your help! Best regards,Miguel
July 30, 2025 1 reply
It’s just what I needed for adding an additional service on a product and charging for it per units. Thank you!
Read all 279 reviews

Contributors & Developers

“PPOM – Product Addons & Custom Fields for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

Version 34.0.0 (2026-05-13)

New Features

  • Added a curated template library with one-click presets for common use cases such as pizza ordering, t-shirt personalization, made-to-measure, and jewelry engraving.
  • Added a live product page preview directly inside the field group editor.
  • Added Cart Edit support for the WooCommerce block-based Cart, bringing parity with the legacy shortcode cart.
  • Added the ability to build PPOM conditions based on WooCommerce product variations.

Improvements

  • Improved the CSS/JS editors’ layout, so it’s easier to read and write code.
  • Shortened the random suffix added to uploaded file names, keeping them readable in cart, checkout, and order confirmation emails.
  • Revamped the field builder UI with a modernized modal layout, cleaner input styling, and a dedicated Advanced section for less-used options.
  • Replaced the modal-based Attach to Products workflow with inline select dropdowns and AJAX search.
  • Added an enable/disable toggle at the field group level, so admins can temporarily switch a group off without unassigning it.
  • Added auto-save and an unsaved-changes warning to the field group editor.
  • Improved the field-type picker with short descriptions and examples to help users tell similar field types apart.
  • Added a designed empty state to the fields list with clear next-step guidance.
  • Added a designed empty state to the PPOM Field Groups page and reworked the top navigation placement.
  • Replaced plain-text color inputs throughout PPOM with a native color picker plus hex input combo.
  • Improved the Personalization Preview creation screen with clearer purpose, guidance, and next steps.
  • Improved front-end field layout with baseline input/label/description styling and consistent vertical alignment for side-by-side fields.
  • Reworked the Integrations Settings tab with card-based layout, in-app API reference, a base URL display, and a masked, copyable secret key.
  • Improved the file upload field to show accepted file types and the maximum file size before the customer attempts to upload.
  • Replaced the support icon with a clearer, more accessible support button.
  • Improved delete UX: trash bin icons and a specific delete confirmation dialog with a red destructive button.
  • Performance: reduced database queries and PHP overhead on product pages.
  • Added Esc-to-close on the Add Field modal.
  • Allowed the field edit popup to float near the clicked field instead of being fixed at the top of the page.
  • Enhanced security.
  • Fixed typos and improved placeholder copy in admin settings.

Fixes

  • Fixed the file upload field from crashing.
  • Fixed a PHP 8+ deprecation warning and headers already sent error when saving certain WooCommerce settings.
  • Fixed a separate stripslashes() fatal error where an array was passed instead of a string.
  • Fixed the Timezone field from crashing with DateInvalidTimeZoneException on servers where the timezone list contained entries unsupported by PHP.
  • Fixed a fatal TypeError when a text input add-on price was prefixed with $ or otherwise non-numeric.
  • Fixed a fatal error in the REST API / Quick View context where WC()->cart was null, breaking PPOM fields in product popups.
  • Fixed an SQL syntax error logged during plugin activation, causing noisy logs.
  • Fixed multiple Personalization Preview bugs with multiple text boxes β€” color pickers, settings panels, and duplicate DOM IDs no longer break beyond the first text box.
  • Fixed an undefined array key warning when adding a new text box to a Personalization Preview that had not been resized.
  • Fixed multi-group rendering: custom CSS/JS from all attached field groups now renders, not just the first group. Stale group references on products are cleaned up when a group is deleted.
  • Fixed image-based PPOM fields not appearing in the WooCommerce Cart Block (only the legacy shortcode cart was displaying them).
  • Fixed detaching a PPOM group from a specific product tag.
  • Fixed the User Roles option disappearing after saving a PPOM field configured with Visibility By Role.
  • Fixed the Images field treating any value in Max Image Select as requiring the field.
  • Fixed the Stock option disappearing after saving an Image Dropdown field.
  • Fixed the Pack Size option in the Quantities Pack field β€” the Add to Cart button no longer requires hitting the exact pack size before enabling.
  • Fixed the Change Image button on the Image Cropping field so it clears all selections instead of replacing one image.
  • Fixed conditional logic not saving for Select fields when an Image field was used as the controlling option.
  • Fixed the file upload field not working on iOS Safari when the file field had conditional logic attached.
  • Fixed price values not being converted with the WooCommerce Multilingual & Multicurrency (WCML) plugin (currency symbol changed, numeric price stayed the same).
  • Fixed the Update Cart button and quantity field alignment in the Cart Items pop-up.
  • Fixed the name of the plugin in the description.

See changelog for all versions.