=== PPOM - Product Addons & Custom Fields for WooCommerce ===
Contributors: themeisle
Tags: woocommerce product addons, woocommerce product options, woocommerce product fields, woocommerce product, product addons
Requires at least: 3.5
Tested up to: 6.8
Stable tag: 33.0.16-dev.b5027f1
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 ultimate solution for crafting custom product options and addons tailored to customer needs. This powerful plugin simplifies adding a variety of custom fields directly to your product pages, including text inputs, dropdown menus, checkboxes, radio buttons, date pickers, file uploads, and more. Enhancing the shopping experience and meeting diverse customer preferences.

## 🔗Quick Links:

- Would you like to see PPOM in action before installing it? [VIEW PPOM FIELDS DEMO](https://demo-ppom-lite.vertisite.cloud/)
- Need any help with setup? [CHECK DOCUMENTATION](https://docs.themeisle.com/collection/1695-product-option-manager)
- Interested in PPOM PRO? [LEARN MORE ABOUT PPOM PRO](https://themeisle.com/plugins/ppom-pro/upgrade?utm_source=wpadmin&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 that encourage customers to purchase.

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

Boost your sales and customer satisfaction by offering tailored product options and add-ons. PPOM is the ultimate solution for WooCommerce stores looking to provide unique, customizable products.

## Input Types in Free Version:

📌 **Text**: Text input displays an input box allowing users to personalize the Product with text like ‘Name on Mug’ etc. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-text-input/)

📌 **Textarea**: Just like the Text input, it displays a larger box that allows the client to personalize the Product with text. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-textarea-input/)

📌 **Select Options (with price)**: Select input allows the users to select a single option set by admin in the Dropdown, recommended when you have many options. Prices can also be set against each option. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-select-input/)

📌 **Radio Options (with price)**: Radio input allows the users to select a single option set by the admin, recommended when you have fewer options. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-radio-input/)

📌 **Checkbox Options (with price)**: Checkbox input allows the users to select multiple options set by the admin. Prices can also be set against each option. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-checkbox-input/)

📌 **Date**: Date input displays a regular Date input box that allows the user to personalize the Product with a Date, e.g., Date of birth, etc. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-date-input/)

📌 **Email** – Text input displays an email input box that allows users to personalize the Product with an e-mail address. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-email-input/)

📌 **Number**: Number input displays a regular Number input box that allows the client to personalize Products with digits only, like for Phones, IDs, etc. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-number-input/)

📌 **Hidden** (Hidden input with a default value): The Hidden Input helps you to display certain messages that can be seen only after a customer adds specific products to the cart. – [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**: PPOM allows you to set flexible display conditions, showing or hiding fields based on user inputs or specific criteria. 

📌 **Tooltip**: Enhance user experience with our Tooltip feature, which provides a brief description when hovered over, helping users understand the functionalities 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**: Input masking ensures that users input data in predefined formats. This helps maintain data accuracy and consistency across forms.

📌 **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**: Bulk Quantity allows the store admin to set discount prices for each option. This add-on is the best tool for companies like printing and designing and looking to sell products with more discounts if a larger quantity is selected. [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**: This input allows you to define each meta field better and to create a more attractive design for your products. [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. Admin can set file types and filesize. Includes progress bar, thumb display, and responsive uploader. [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**: Some pricing options are too complex to be presented in a standard way, such as printing price packages, and the fixed price input is helpful in this regard. [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**: The Phone Input can be very useful for marketing products, such as business cards, and advertisement places. [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**: With the Personalization Preview feature, users can type text, customize font, and see exactly how it will appear on the product image, offering a clear and interactive experience that boosts confidence in their purchase. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/basic-texter-input/)

💎 **Quantities Pack Input**: The Quantities Pack input helps you to create a multiple-choice product page so that the user can insert and buy different quantities of the product's types from the same page. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/quantities-pack-input/)

💎 **Quantity Option Input**: The Quantity Option product might come in handy for extra services; for example, for any book bought, you receive a bookmark, but if you need more bookmarks, you can insert the quantity in the Quantity Option field. [View Demo](https://demo-ppom-lite.vertisite.cloud/product/quantity-option-input/)

💎 **Radio Switcher Input**: The Radio Switcher input creates a more appealing view for the product page and allows 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**: The Super List input offers predefined dropdowns with the most common topics, such as languages, countries, currency symbols, etc. [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**: Select a timezone from a pre-defined list of timezone. Exclude/include time 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**: Variation Quantities allow customers to order different quantities against 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 to your product fields for full control over their appearance and behavior. Use the selector to target specific elements and apply styles or functionality.

💎 **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 metas groups to a single product.

💎 **Import/Export**: You can use PPOM to import or export your meta fields directly from PPOM settings.

💎 **[Client-Side Validation](https://www.youtube.com/watch?v=1IoABjkQ--I)**: Validate data on the client side to prevent page refreshes and speed up error detection.

💎 **PPOM Repeater**: The PPOM Repeater allows you to repeat a meta-field group after enabling it, from the meta-group editing mode.

💎 **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**: The Conditional Repeater allows fields to be automatically repeated based on the value entered in another field, such as a Number, Variation Quantity, or Quantity Pack field. For example, if a user enters "2," two corresponding fields will appear. This feature is part of the PPOM Pro plugin.

**USE CASE**: Selling personalized caps? With the Conditional Repeater, customers can select the number of caps (e.g., 5), and the feature will automatically generate 5 fields to enter unique names for each cap. This makes it simple to personalize multiple caps in one go! [VIEW DEMO](https://demo-ppom-lite.vertisite.cloud/product/personalized-caps-using-conditional-repeater/)

✅ **Cart Edit**: The Cart Edit addon can help the visitors of your website easily change their orders to suit their needs while they're checking the cart. 

✅ **Fields Popup addon**: The Fields Popup addon allows the PPOM meta fields to be displayed inside a popup on the product page

✅ **Collapse Settings**: The "Collapse" settings enhance your interface by allowing adjustments for how sections open and display, with options for colors, icons, and navigation for a smoother user experience.

✅ **Enquiry Form**: The "Enquiry Form" add-on simplifies collecting custom customer inquiries directly from your website, helping you address their needs efficiently. Customize where messages go and how you respond to enhance user satisfaction and potentially increase sales.

Interested in PPOM PRO? [Learn more](https://themeisle.com/plugins/ppom-pro/upgrade?utm_source=wpadmin&utm_medium=readme&utm_campaign=interested-pro)

## Tailored Flexibility for Every Business Need:

PPOM is designed to enhance your website’s functionality with customizable product options, ideal for any business looking to offer personalized services or products. Here are a few inspirational use cases:

🍰 **Bakery or Cake Shop**: Enable customers to choose from various cake sizes, flavors, and image decorations. PPOM handles complex variations with ease, making it simple for customers to order their dream customized cake online.

💍 **Jewelry Store**: Offer material choices such as gold, silver, and platinum, along with different gemstones and custom engravings using a text input field to ensure each piece can be uniquely customized.

🌍 **Travel and Tours**: Streamline bookings by enabling customers to choose destinations, accommodation types, and extra activities with image options. Dynamically display different options based on user selections for a smoother, more personalized experience.

👕 **Custom Apparel**: From custom socks to personalized shirts, allow customers to select fabrics, colors, and even upload their designs. PPOM’s flexible nature makes it ideal for fashion e-commerce that thrives on personalization.

### See what real users talk 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 🤝

We’re here to help. Feel free to open a new thread on the [Support Forum](https://wordpress.org/support/plugin/woocommerce-product-addon/).

### Documentation 📚

Discover how to make the most of PPOM with our detailed and user-friendly [documentation](https://docs.themeisle.com/collection/1695-product-option-manager).

### Become a Contributor 💁‍♂️

PPOM is an open-source project, and we welcome contributors to be part of our vibrant community! Help us improve the plugin and make it even better – [GitHub Link](https://github.com/Codeinwp/woocommerce-product-addon)

###Useful Resources 📌

- Read more about WordPress on our [blog](https://themeisle.com/blog/).
- Interested in our other plugins? Take a look [here](https://themeisle.com/wordpress-plugins/?utm_source=wpadmin&utm_medium=readme&utm_campaign=PPOM).

== 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 33.0.16](https://github.com/Codeinwp/woocommerce-product-addon/compare/v33.0.15...v33.0.16) (2025-10-16)

- Updated dependencies
- 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)
= I can add fields in Variable Products also? =
Yes
= Is there any fields limits? =
No - But sometime due to server limitation you cannot add more fields.
= Can we price with option? =
Yes, price can be added with Select,Radio,Checbox
= Can I see Demo, how fields are displayed and added to cart? =
Yes, [See here](https://demo-ppom-lite.vertisite.cloud/)

== Upgrade Notice ==
* Since version 10 we have major changes
* Free Version must be installed with PRO version
