=== PPOM - Product Addons & Custom Fields for WooCommerce ===
Contributors: themeisle
Tags: product addons, woocommerce product addons, woocommerce product options, custom fields, variable products
Requires at least: 6.2
Tested up to: 7.0
Stable tag: 34.0.4-dev.4ad4e84
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Requires PHP: 7.2

Easily add a range of custom fields to WooCommerce products, from text boxes to date selectors, allowing customers to personalize their orders.

== 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

- Would you like to see PPOM in action before installing it? [See it in action](https://demo-ppom-lite.vertisite.cloud/)
- Need any help with setup? [View documentation](https://docs.themeisle.com/collection/1695-product-option-manager)
- Interested in PPOM PRO? [Learn more](https://themeisle.com/plugins/ppom-pro/upgrade?utm_source=wordpressorg&utm_medium=readme&utm_campaign=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](https://demo-ppom-lite.vertisite.cloud/product/basic-text-input/)

📌 **Textarea**: Displays a larger text box for longer text personalization. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-textarea-input/)

📌 **Select Options (with price)**: Dropdown for selecting a single option. Best for many options. Supports per-option pricing. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-select-input/)

📌 **Radio Options (with price)**: Radio buttons for selecting a single option. Best for fewer options. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-radio-input/)

📌 **Checkbox Options (with price)**: Checkboxes for selecting multiple options. Supports per-option pricing. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-checkbox-input/)

📌 **Date**: Let customers pick a date (e.g., date of birth). [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-date-input/)

📌 **Email**: Email input displays an input box that allows users to add an email address. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-email-input/)

📌 **Number**: Number input for digits only (e.g., phone numbers, IDs). [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-number-input/)

📌 **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](https://demo-ppom-lite.vertisite.cloud/product/hidden-input/)


## 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 ==
[youtube https://www.youtube.com/watch?v=wGQBOzyMF4U]

## PPOM PRO Inputs:

💎 **Audio/Video**: Allow customers to select audio/video from predefined audios/videos by admin. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-video-music/)

💎 **Bulk Quantity**: Set discount prices for larger quantities. Ideal for printing and design businesses. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-bulk-quantity-input/)

💎 **Chained Input**: Renders chained input in the dropdown. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/chained-input/)

💎 **Collapse Input**: This input acts like a parent block for managing grouped inputs. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/collapse-input/)

💎 **Color Palette**: Allow customers to select color(s) from a predefined set of colors by admin. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-color-palette/)

💎 **Color Picker**: Allow customers to select any colors and save Hex value. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-color-picker/)

💎 **Conditional Images Input**: Display different info based on the chosen images. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/conditional-images-input/?attach_id=325&ppom-meta=41,0)

💎 **Date Range**: Select two dates between from and to. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-date-range-input/)

💎 **Divider Input**: Visually separates meta fields for better product page design. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-divider-input/)

💎 **Domain Input**: Check web domain availability. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-domain-input/)

💎 **Emojis Input**: [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-emoji-input/)

💎 **File Upload**: Allow customers to upload files with configurable file types and size limits. Includes progress bar and thumbnail display. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-file-upload-input/)

💎 **Fixed Price Input**: Set fixed prices with Add Option / First Option. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/fixed-price-input-with-add-option-first-option/)

💎 **Fonts Picker**: Allows you to insert text and select the desired font for it, offering a preview. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-fonts-picker/)

💎 **HTML Content**: Add HTML tags, like p or h1 tags, to add more details for your extra fields. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-basic-html-with-content/)

💎 **Image Cropper**: Allows users to upload and crop images. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-basic-image-cropping-input/)

💎 **Image Dropdown Input**: Dropdown with images for complex pricing options like print packages. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/image-dropdown-input/)

💎 **Images Options**: Image input is just like Radio/Checkbox, but images can be uploaded against each option. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-images-options/)

💎 **Measure Input**: Set prices for measure units like milk, clothes & frames, etc. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-measure-input/)

💎 **Phone Input**: Phone number input field, useful for business cards and marketing products. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-images-options/)

💎 **Price Matrix with Discount**: Set tiered or discount prices on bulk purchases. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-price-matrix-discount/)

💎 **Personalized Preview**: Users can type text, customize font, and preview how it appears on the product image. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-texter-input/)

💎 **Quantities Pack Input**: Create multiple-choice product pages where users can buy different quantities of product variants. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/quantities-pack-input/)

💎 **Quantity Option Input**: Add quantity fields for extras (e.g., additional bookmarks with a book purchase). [View Demo](https://demo-ppom-lite.vertisite.cloud/product/quantity-option-input/)

💎 **Radio Switcher Input**: Visual radio buttons with different images for each option. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/radio-switcher-input/)

💎 **Select Option Quantity Input**: This input allows you to display a dropdown with options along with their quantities. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/select-quantity-option-input/)

💎 **Superlist Input**: Predefined dropdowns for common data like languages, countries, and currencies. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/superlist-input/)

💎 **Text Counter**: This input is a special text input that can restrict the total number of words or characters. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-text-counter/)

💎 **Timezone**: Let customers select a timezone from a pre-defined list. Admins can include or exclude specific zones. [View Demo](https://demo-ppom-lite.vertisite.cloud/product-category/timezone-input/)

💎 **Variation Matrix Input**: Allow customers to order different quantities for different options like sizes or colors. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-variation-matrix-input/)

💎 **Variation Quantities**: Allow customers to order different quantities for different options. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/demo-for-variation-quantities/)

## 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](https://www.youtube.com/watch?v=1IoABjkQ--I)**: 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](https://demo-ppom-lite.vertisite.cloud/product/personalized-caps-using-conditional-repeater/)

✅ **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](https://themeisle.com/plugins/ppom-pro/upgrade?utm_source=wordpressorg&utm_medium=readme&utm_campaign=interested-pro)

## 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](https://wordpress.org/support/topic/best-than-best-2/)” - 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](https://wordpress.org/support/topic/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](https://wordpress.org/support/topic/simply-the-best-better-than-all-the-rest-4/)” - 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](https://wordpress.org/support/topic/amazing-plugin-2602/)” - 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](https://wordpress.org/support/plugin/woocommerce-product-addon/).

### Documentation

View the [documentation](https://docs.themeisle.com/collection/1695-product-option-manager).

### Contribute

PPOM is open-source. Contribute on [GitHub](https://github.com/Codeinwp/woocommerce-product-addon).

### Useful Resources

- Read more about WordPress on our [blog](https://themeisle.com/blog/).
- Explore our [other plugins](https://themeisle.com/wordpress-plugins/?utm_source=wordpressorg&utm_medium=readme&utm_campaign=PPOM).

### 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](https://themeisle.com/security/).

== 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.

== Screenshots ==

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


== Changelog ==

##### [Version 34.0.4](https://github.com/Codeinwp/woocommerce-product-addon/compare/v34.0.3...v34.0.4) (2026-06-24)

- Enhanced security




[See changelog for all versions](https://github.com/Codeinwp/woocommerce-product-addon/blob/master/CHANGELOG.md).


== Frequently Asked Questions ==
= Where can I find documentation for WooCommerce Product Addon? =
[Installation & Overview](https://docs.themeisle.com/article/1700-personalized-product-meta-manager)
[Docs for Free Inputs](https://docs.themeisle.com/article/1701-ppom-free-input-types)
= 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](https://demo-ppom-lite.vertisite.cloud/).

== Upgrade Notice ==
* Version 10 introduced major changes.
* The Free Version must be installed alongside the PRO version.
