=== Extra Product Options for WooCommerce ===
Contributors: actpro, freemius
Tags: woocommerce product options, woocommerce product addons, woocommerce custom fields, product addons, conditional logic
Requires at least: 6.1
Tested up to: 6.9
Requires PHP: 7.4
WC requires at least: 8.0
WC tested up to: 10.7
Stable tag: 4.4.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Add 22+ custom fields to WooCommerce products with nested conditional logic, custom pricing, and advanced display rules.

== Description ==

🔥 <strong>#1 WooCommerce Product Options Plugin with Nested Conditional Logic</strong>

Transform your WooCommerce product pages with <strong>Extra Product Options for WooCommerce by WPActPro</strong>. Add up to <strong>22+ custom product fields</strong> with advanced <strong>nested conditional logic (AND/OR groups)</strong> - the only free plugin offering this powerful feature. Whether you run a small boutique or a large online store, our plugin drives sales growth by enabling customers to personalize products effortlessly.

<strong>Why Choose Extra Product Options for WooCommerce?</strong>

✅ <strong>22+ Field Types</strong> - More options than most competitors
✅ <strong>Nested Conditional Logic</strong> - Advanced AND/OR groups (FREE version exclusive!)
✅ <strong>Easy to Use</strong> - Drag & drop builder with modern UI
✅ <strong>Highly Customizable</strong> - Section settings, row/column layouts, styling options
✅ <strong>Performance Optimized</strong> - Custom database tables for faster queries
✅ <strong>Developer Friendly</strong> - Extensive hooks and filters

From a simple gift wrap option through to complex PC configurations, extra product options are a proven way for you, as a <strong>WooCommerce store owner, to increase your profits.</strong>

Extra Product options are <strong>much easier, more flexible, and faster to use than variable products.</strong> Instead of generating thousands of variations, enable customers to customize products with additional options such as text fields, checkboxes, radio buttons, dropdowns, and more. You can add extra product options to selected Products or selected Categories.

== 🎉 What's New in Version 4.4.7 ==

Version 4.4.7 improves the **free-tier builder experience** for premium-ready field types, tightens **Slider** mode behavior between Free and Pro, and continues **code quality** improvements:

<ul>
<li><strong>🛒 Product Group (Free preview)</strong> - When viewing Product Group in Free: the Productgroup Options tab shows the same **selection rules** (min/max selections, allow multiple, quantity field, stock options) and an **option row preview** read-only pattern (no empty tab); Label Settings show **PRO** badges on Title Type and Subtitle Type like other premium label controls</li>
<li><strong>📑 Options tab visibility</strong> - Product Group is registered for the Options tab even when the Pro-only addon class is not loaded, so **Free** users always see the preview instead of a blank tab</li>
<li><strong>📊 Slider mode</strong> - **Single handle** stays fully available in Free (saved in the builder); **Dual handle (range)** is Pro-only (locked option + server-side normalization on save for non-Pro sites). Storefront template already restricted range to Pro</li>
<li><strong>🔧 Developer quality</strong> - PHPCS/WooCommerce sniffs: hook docblocks, function parameter docs, indentation; save-path normalization for slider mode on Free installs</li>
</ul>

== 🎉 What's New in Version 4.4.6 ==

Version 4.4.6 introduces the powerful Section Layout feature to organize your addon fields in beautiful, user-friendly layouts:

<ul>
<li><strong>📑 Section Layout (Premium)</strong> - Organize addon sections using Accordion, Tabs, or Step Wizard layouts for better user experience</li>
<li><strong>⚙️ Global Settings</strong> - Set global defaults for all section layouts with per-addon override capability</li>
<li><strong>🎯 Accordion Layout</strong> - Collapsible sections with Mode (Single/Multi Open), Default Expanded options, and Icon Styles (Plus/Minus, Chevron, Caret)</li>
<li><strong>📋 Tabs Layout</strong> - Horizontal, Vertical, Pills, or Underline styles with Left/Right position options for vertical tabs</li>
<li><strong>🧙 Step Wizard Layout</strong> - Guide customers through options with Progress Bar, Step Indicators, and Navigation buttons</li>
<li><strong>⚡ General Behavior</strong> - Animation Speed, Remember User State, Deep Linking, and Highlight Sections with Errors</li>
<li><strong>✅ Smart Validation</strong> - Automatically expands sections with errors, shows error indicators on headers, and focuses on invalid fields</li>
<li><strong>♿ Keyboard Accessibility</strong> - Full keyboard navigation support for all layouts (arrow keys, Enter/Space, Home/End)</li>
<li><strong>💰 Custom Pricing</strong> - Accept user-entered prices for donations, tips, and custom amounts</li>
<li><strong>📊 Dynamic Pricing</strong> - Calculate price per 'n' number of units with optional base quantity exclusion</li>
<li><strong>🔄 Dynamic Tax Updates</strong> - Tax info updates automatically when switching product variations</li>
<li><strong>📦 Per-Option Stock Management (Premium)</strong> - Set stock quantity per option for Select, Radio, Checkbox, Color Switcher, Image Switcher, and Text Switcher fields. Stock is deducted at checkout and restored when orders are cancelled, refunded, or failed</li>
</ul>

== 🎉 What's New in Version 4.4.5 ==

Version 4.4.5 introduces the powerful Repeater field type, AJAX search for addons in the admin side, improved extensibility, and enhanced theme compatibility:

<ul>
<li><strong>🔄 Repeater Field Type (Premium)</strong> - Allow customers to duplicate a group of fields on the product page. Select fields to repeat, configure min/max instances, customize button labels, and prices accumulate across all instances with full cart/order support</li>
<li><strong>🔍 AJAX Search for Addons</strong> - Server-side search for addons list page with pagination support. Search addons by name with real-time filtering and loading animation</li>
<li><strong>🔧 Developer Hooks</strong> - Introduced new actions and filters for better extensibility (addon rendering, cart data, save/delete operations, and more)</li>
<li><strong>💰 Currency Display Fix</strong> - Fixed currency display and JavaScript errors in addon price formatting</li>
<li><strong>📚 Documentation Links</strong> - Added new documentation links in each field type tabs for quick reference</li>
<li><strong>🎨 Theme Compatibility</strong> - Improved compatibility with Elessi/Flavor themes for addon positioning</li>
<li><strong>⚡ Additional Rules Performance</strong> - Fixed flash/flicker on page load - addons now hide instantly via server-side pre-evaluation</li>
<li><strong>🔒 Required Rules Enforcement</strong> - Addons without Additional Rules no longer display on product pages - rules are now required for addon visibility</li>
<li><strong>🐛 Column Drag-Drop Fix</strong> - Fixed column group reorder not saving correctly after drag and drop</li>
</ul>

== 🎉 What's New in Version 4.4.4 ==

Version 4.4.4 introduces nested conditional logic, infinite scroll pagination, and important bug fixes:

<ul>
<li><strong>🎯 Nested Conditional Logic (AND/OR Groups)</strong> - Create complex conditional rules with grouped conditions using AND/OR logic. This powerful feature allows you to set up sophisticated display rules like "Show field A when (Product X OR Product Y) AND (Category Z OR User Role Admin)"</li>
<li><strong>🚀 Infinite Scroll Pagination</strong> - Conditional rules dropdowns (Products, Categories, Tags, Variations) now use infinite scroll with 50 items per page for better performance on large stores</li>
<li><strong>✅ Enhanced Multiselect Support</strong> - Improved multiselect field handling with better price calculation and display in cart</li>
<li><strong>🎨 Design Improvements</strong> - Fixed checkbox design issues in two-column layouts</li>
<li><strong>🔧 Bug Fixes</strong> - Fixed hidden conditional fields being added to cart, duplicate nonce issue, and improved overall stability</li>
</ul>

== 🎉 What's New in Version 4.4.1 ==

Version 4.4.1 introduces new field types, enhanced validation, and brings more features to the Free version:

<ul>
<li><strong>📏 Separator Field Type</strong> - Add horizontal divider lines to visually separate sections or fields with customizable color, style (solid, dashed, dotted, double), width, and margin</li>
<li><strong>📧 Enhanced Text Field Validation</strong> - Email, URL, and Phone Number validation with HTML5 input types and mobile keyboard optimization</li>
<li><strong>✅ Tag Conditions</strong> - Tag conditions now available in Free version for better product targeting</li>
<li><strong>🎛️ Select All/Clear All Buttons</strong> - Convenient bulk selection controls for conditions in Free version</li>
<li><strong>📊 Slider Field </strong> - Slider field type now available in Free version</li>
<li><strong>🔧 Improved Theme Compatibility</strong> - Fixed container query layout issues and added fallback media queries for better theme compatibility</li>
<li><strong>📅 Datepicker Improvements</strong> - Fixed advance pricing, readonly field, and date format issues</li>
</ul>

== 🎉 What's New in Version 4.4.0 ==

Version 4.4.0 brings a <strong>complete UI redesign</strong> and powerful new features to make creating and managing product options even easier:

<ul>
<li><strong>🎨 Complete UI Redesign</strong> - Modern, intuitive admin interface with modal-based configuration for all settings</li>
<li><strong>📋 Section Management System</strong> - Comprehensive section settings with title, description, styling, and custom CSS options</li>
<li><strong>📐 Row & Column Layouts</strong> - Organize fields into single or two-column layouts for better form structure</li>
<li><strong>🗄️ Custom Database Tables</strong> - Improved performance with dedicated database tables for faster queries</li>
<li><strong>⚡ Modular JavaScript Architecture</strong> - Better code organization and maintainability</li>
<li><strong>🎯 Accordion-Style Sections</strong> - Better organization with expandable/collapsible sections in the admin side</li>
</ul>

== What are the benefits of WooCommerce extra product options? ==

🔑 Generate more sales
🔑 Increase the profit margin
🔑 Stand out from the competition
🔑 No need for higher inventory costs
🔑 Better customer insight
🔑 Increase customer loyalty
🔑 Power the online business

== 🎬 See It In Action ==

<strong>Try Our Live Demo:</strong>

<ul>
<li><strong><a href="http://demo.wpactpro.com/extra-product-options" target="_blank">Frontend Demo</a></strong> - See how product options look to customers</li>
<li><strong><a href="http://demo.wpactpro.com/extra-product-options/wp-admin/edit.php?post_type=product&page=epofw-main&tab=about_info" target="_blank">Backend Demo</a></strong> - Experience the modern admin interface</li>
<li><strong><a href="https://www.youtube.com/watch?v=HCpaRwEeWvA" target="_blank">Video Tutorial</a></strong> - Watch step-by-step setup guide</li>
</ul>

<strong>Key Features to Explore:</strong>

✅ Nested conditional logic with AND/OR groups
✅ 22+ field types in action
✅ Section settings and layouts
✅ Conditional display rules
✅ Custom pricing options

➡️ <a href="http://demo.wpactpro.com/extra-product-options" target="_blank">Try Demo Now</a> ⬅️

== Documentation & Tutorials ==

<ul>
<li><strong><a href="https://wpactpro.com/section-settings/" target="_blank">Section Settings Documentation</a></strong> - Complete guide to customizing section settings in version 4.4.0</li>
<li><strong><a href="https://youtu.be/KT5xUR3rAD8" target="_blank">Section Settings Video Tutorial</a></strong> - Watch how to use section settings features</li>
</ul>

== 💡 Share Your Ideas & Feature Requests ==

We value your feedback! Help us improve the plugin by sharing your ideas and requirements.

<strong>What features would you like to see?</strong>

<ul>
<li>New field types you need for your store</li>
<li>Additional functionality or integrations</li>
<li>UI/UX improvements</li>
<li>Performance enhancements</li>
<li>Any other suggestions</li>
</ul>

<strong>How to share your feedback:</strong>

<ul>
<li><strong>Email:</strong> <a href="mailto:support@wpactpro.com" target="_blank">support@wpactpro.com</a></li>
<li><strong>Contact us:</strong> <a href="https://wpactpro.com/contact" target="_blank">Share your Idea</a></li>
</ul>

Your suggestions help us prioritize features and build a better product roadmap. We review all feedback and consider it for future releases!

== 💁 Types of extra options for WooCommerce Product  ==

<ul>
<li><strong>Text - Add one line of text</strong><a href="https://wpactpro.com/extra-product-option-for-text-field" target="_blank">View Documentation</a></li>
<li><strong>Hidden</strong></li>
<li><strong>Number – To accept numbers (both decimal or whole numbers)</strong><a href="https://wpactpro.com/extra-product-option-for-number-field" target="_blank">View Documentation</a></li>
<li><strong>Password</strong></li>
<li><strong>Email – HTML5 email validation with mobile keyboard support</strong></li>
<li><strong>URL – HTML5 URL validation with mobile keyboard support</strong></li>
<li><strong>Telephone – HTML5 phone input with mobile phone keyboard</strong></li>
<li><strong>Textarea</strong><a href="https://wpactpro.com/extra-product-option-for-textarea-field" target="_blank">View Documentation</a></li>
<li><strong>Select (drop-down) – To select one option from a list</strong><a href="https://wpactpro.com/extra-product-option-for-select-field" target="_blank">View Documentation</a></li>
<li><strong>Multiple Select</strong><a href="https://wpactpro.com/extra-product-option-for-multiselect-field" target="_blank">View Documentation</a></li>
<li><strong>Checkboxes – Select one or many options from a list </strong><a href="https://wpactpro.com/extra-product-option-for-checkbox-field" target="_blank">View Documentation</a></li>
<li><strong>Checkbox Groups</strong><a href="https://wpactpro.com/extra-product-option-for-checkbox-group-field" target="_blank">View Documentation</a></li>
<li><strong>Radio – Select from a list using radio buttons - Demo</strong><a href="https://wpactpro.com/extra-product-option-for-radio-button" target="_blank">View Documentation</a></li>
<li><strong>Date Picker - Select a date from a calendar </strong><a href="https://wpactpro.com/woocommerce-date-picker-guide" target="_blank">View Documentation</a></li>
<li><strong>Time Picker</strong></li>
<li><strong>Color Picker - Select a color form a dropdown </strong></li>
<li><strong>Heading </strong></li>
<li><strong>Paragraph - Add additional text to the product </strong></li>
<li><strong>Separator - Add a horizontal divider line to visually separate sections or fields. Customize color, style (solid, dashed, dotted, double), width, and margin.</strong></li>
<li><strong>Slider - A Slider is an input control that allows users to select a value from a defined range by moving a handle along a track</strong><a href="https://wpactpro.com/extra-product-option-for-slider-field" target="_blank">View Documentation</a></li>
<li><strong>Switch - A Switch is an input element that enables users to toggle between two states, typically "on" and "off," functioning similarly to a checkbox but explicitly representing boolean states</strong><a href="https://wpactpro.com/extra-product-option-for-switch-field" target="_blank">View Documentation</a></li>
<li><strong>Section Setting - The Section Status toggle is a fundamental control that determines whether the entire section and all its contained fields will be visible to customers on the frontend product page. </strong><a href="https://wpactpro.com/section-settings" target="_blank">View Documentation</a></li>
<li><strong>Conditional Logic - Conditional Logic transforms static product forms into intelligent, responsive experiences. Instead of overwhelming customers with every possible option, you show only what matters based on their choices. </strong><a href="https://wpactpro.com/extra-product-options-conditional-logic" target="_blank">View Documentation</a></li>
<li><strong>WooCommerce Settings - Fine-tune how your extra product options appear and behave across product pages, cart, checkout, orders, and emails. Control pricing visibility, tax settings, and customer-facing information at every step of the purchase journey. </strong><a href="https://wpactpro.com/woocommerce-settings" target="_blank">View Documentation</a></li>
</ul>

== 👉 Display Position for Extra Fields ==

<ul>
<li>Before Add To Cart Button</li>
<li>After Add To Cart Button</li>
<li><strong>Pro </strong>- Before Variation Data (for variable products)</li>
</ul>

➡️ <a href="http://demo.wpactpro.com/extra-product-options/wp-admin/edit.php?post_type=product&page=epofw-main&tab=about_info" target="_blank">View Demo</a> ⬅️

== 💁 Types of extra options for WooCommerce Product ==

<ul>
<li>Add 22 types of extra custom product fields in WooCommerce Product Page</li>
<li>Add extra custom fields for the selected product and selected categories</li>
<li>Manage Required or optional fields</li>
<li>Add prices to options</li>
<li>Allow multiple attributes to be selected in the same option</li>
<li>Easy to Use</li>
<li>Drag & Drop</li>
<li>Use with or without prices</li>
<li>Show/hide prices</li>
<li>Manage labels, values, placeholders, and CSS classes for each field</li>
<li>Duplicate the extra product custom field or groups of fields</li>
<li>Edit, Remove, Enable, or disable the extra product fields easily</li>
<li>Dynamic product price: Change the price depending on a field value(s)</li>
<li>Visibility options: decide on which product(s) to show your fields</li>
<li>Set prices for each option value</li>
<li>Make options mandatory for selection</li>
<li>Display selected values on checkout, order info pages, and in the order emails</li>
</ul>

== 👉 Display Position for Extra Fields ==

<ul>
<li>Simple Product</li>
<li>Variable products over ajax</li>
</ul>

➡️ <a href="http://demo.wpactpro.com/extra-product-options/wp-admin/edit.php?post_type=product&page=epofw-main&tab=about_info" target="_blank">View Demo</a> ⬅️

💎💎 💎 PREMIUM KEY FEATURES

💁 Types of extra options for WooCommerce Product

<ul>
<li><strong>Pro </strong> - File upload – allowing your customers to upload (multiple) files.</li>
<li><strong>Pro </strong> - True/false – A "yes/no" checkbox</li>
<li><strong>Pro </strong> - Image swatches – multi and single choice options with images.</li>
<li><strong>Pro </strong> - Color swatches – multi and single color options.</li>
<li><strong>Pro </strong> - Text swatches – text options.</li>
<li><strong>Pro </strong> - Paragraph - so you can add content and shortcodes to your product page.</li>
<li><strong>Pro </strong> - Image – to add images.</li>
<li><strong>Pro </strong> - HTML</li>
<li>Upload Field – To collect files from users which can be images, Videos, Documents, and anything that is supported by WordPress.</li>
<li><strong>Pro </strong> - Slider with custom formulas on product detail page</li>
<li><strong>Pro </strong> - Switch with Switch Layout, Animation Style, Checked Icon, Checked Background Color, Unchecked Icon, Unchecked Background Color</li>
</ul>

💎  Custom Price Fields  - <strong>Pro </strong>

Allow setting the price of your custom product fields. and this price will be added to the product total based on the field value. it is useful when you want to charge an additional fee for your additional services. Multiple wany you can set price.

<ul>
<li><strong>Fixed: </strong>Set a fixed price for the extra field. This fixed amount will be added to the total product price upon selecting the addon.</li>
<li><strong>Pro - Percentage: </strong>Set a percentage price for extra field. This percentage amount will be added to the total product price upon selecting the addon.</li>
<li><strong>Pro - Custom: </strong>User will enter the price and It will be added to the product price. like getting donations, tips, and similar things.</li>
<li><strong>Pro - Percentage of Product Price: </strong>Set the addon price in percentage. It will calculate the product price and added to the product price.</li>
<li><strong>Pro - Dynamic: </strong>Set the price per ‘n’ number of units/ quantity. Addon price will be calculated for the total number of units/ quantity selected by the customer and added to the product price.</li>
</ul>

💎 Conditionally Display Fields According To Relevance

with this option, you can set extra fields " Display Rules " based on a number of conditions. You will be able to control the field display easily by adding different conditions based on the following.

<ul>
<li>All Products (with Select All/Clear All)</li>
<li>Products</li>
<li>Categories</li>
<li>Tags</li>
<li><strong>Pro</strong> - User roles</li>
<li><strong>Pro</strong> - Other Fields values</li>
<li><strong>Pro</strong> - Date picker and time picker</li>
<li><strong>Pro</strong> - Product variations</li>
<li><strong>Pro</strong> - Product quantity</li>
</ul>

➡️ <a href="http://demo.wpactpro.com/extra-product-options/wp-admin/edit.php?post_type=product&page=epofw-main&tab=about_info" target="_blank">View Demo</a> ⬅️

💁 Example Uses of WooCommerce Extra Product Options Plugin

Here are just a few of the ways this flexible plugin can be used:

<ul>
<li>Sell events and tickets using this plugin to add options like seat, date, booking fees, etc</li>
<li>Add extra delivery/shipping options and costs to orders</li>
<li>Brand options</li>
<li>Checkout fields</li>
<li>Dropshipping options</li>
<li>Delivery times and dates</li>
<li>Dynamic pricing</li>
<li>Custom product designing</li>
<li>Hotel booking</li>
<li>Bulk editing of product options</li>
<li>Add gift wrap options to products (with costs) as shown in the demo</li>
<li>Add image choices to printable products (with or without prices)</li>
<li>Add text to cards (with the possibility of charging per character )</li>
<li>Add discounts to products (option prices can be negative)</li>
<li>Chargeless for bulk/wholesale orders (bundle rates)</li>
<li>Add extra charges/fees to orders</li>
<li>Add extra charges/fees to products</li>
</ul>

➡️ <a href="http://demo.wpactpro.com/extra-product-options/wp-admin/edit.php?post_type=product&page=epofw-main&tab=about_info" target="_blank">View Demo</a> ⬅️

👉 CUSTOM HOOKS

The plugin is most developer-friendly so that you can easily add more functionalities if needed with our hooks.

💁 Contact Us

Free plugin: Need Technical Help? - <a href ="mailto:support@wpactpro.com" target="_blank">Click here</a>

➡️ <a href="https://wpactpro.com" target="_blank">Premium Version</a> ⬅️

== Installation ==

= Minimum Requirements =
* WooCommerce 8.0 or greater
* WordPress 6.1 or greater
* PHP 7.4 or greater

= Automatic installation =
1. Log in to your WordPress dashboard.
2. Navigate to the Plugins menu, and click "Add New".
3. Search and locate 'Extra Product Options for WooCommerce' plugin.
4. Click 'Install Now', and WordPress will take it from there.

= Manual installation =
Manual installation method requires downloading the 'Extra Product Options for WooCommerce' plugin and uploading it to your web server via your FTP application. The WordPress codex contains [instructions on how to do this here](https://wordpress.org/support/article/managing-plugins/#manual-plugin-installation).

== Frequently Asked Questions ==

= What makes this plugin different from other WooCommerce product options plugins? =
Our plugin is the ONLY free plugin offering <strong>nested conditional logic with AND/OR groups</strong>. This means you can create complex conditions like "Show field A when (Product X OR Product Y) AND (Category Z OR User Role Admin)". Most competitors only offer simple conditional logic in their free versions.

= How many field types are included in the free version? =
The free version includes <strong>22 field types</strong>, more than most competitors. These include text, textarea, number, email, URL, telephone, password, select, multiselect, radio, checkbox, checkboxgroup, datepicker, timepicker, colorpicker, slider, switch, heading, paragraph, separator, and more.

= Does the plugin support conditional logic? =
Yes! Our plugin offers the most advanced conditional logic in the free version. You can create nested conditions with AND/OR groups to show/hide fields based on products, categories, tags, and more.

= Can I add custom pricing to fields? =
Yes! The free version supports fixed pricing. Premium version adds percentage pricing, custom formulas, price per character, and more advanced pricing options.

= Is the plugin compatible with my theme? =
Yes! The plugin is designed to work with all major WooCommerce-compatible themes as we provide comprehensive styling settings including margin, padding, and CSS customization options to help you match the plugin's appearance with any theme. You can adjust spacing, colors, borders, and more through the section settings and field styling options.

= Can I use conditional logic to show different fields for different products? =
Absolutely! You can set display rules based on products, categories, tags, and more. Create complex conditions using AND/OR logic to show fields exactly when and where you need them.

= Does the plugin support variable products? =
Yes! The plugin works seamlessly with both simple and variable products. Fields are displayed via AJAX for variable products to ensure smooth user experience.

= Can I customize the appearance of the fields? =
Yes! You can customize field labels, add CSS classes, configure section settings, use row/column layouts, and more. Premium version adds even more styling options.

= Is there a demo I can try? =
Yes! You can try our <a href="http://demo.wpactpro.com/extra-product-options" target="_blank">live demo</a> to see the plugin in action, or check out our <a href="https://www.youtube.com/watch?v=HCpaRwEeWvA" target="_blank">video tutorials</a>.

= How does option stock management work? (Premium) =
Per-option stock lets you set a stock quantity on individual options (e.g. "Red - 10 left", "Green - 5 left") for Select, Radio, Checkbox, Color Switcher, Image Switcher, and Text Switcher fields. Stock is validated before add-to-cart, deducted when the order is placed at checkout, and restored automatically when an order is cancelled, refunded, or fails. You can verify deductions in the order line item meta (_epofw_option_stock_deductions) and check current option stock in the addon builder.

= How do I get support? =
Free plugin users can get support via email at <a href="mailto:support@wpactpro.com" target="_blank">support@wpactpro.com</a>. Support with faster response times.

== Screenshots ==
1. List Of Fields
2. Conditional Logic
3. Pricing Options
4. Text Options Settings
5. Text Options At Front Side
6. Textarea Options Settings
7. Textarea Options At Front Side
8. Number Options Settings
9. Number Options At Front Side
10. Checkbox Options Settings
11. Checkbox Options At Front Side
12. CheckboxGroup Options Settings
13. CheckboxGroup Options At Front Side
14. ImageSwitcher Options Settings
15. Multiselect Options Settings
16. Multiselect Options At Front Side
17. Qty Settings
18. Qty At Front Side
19. Radiogroup Settings
20. Radiogroup At Front Side
21. WooCommerce Settings

== Upgrade Notice ==

Automatic updates should work great for you.  As always, though, we recommend backing up your site prior to making any updates just to be sure nothing goes wrong.

== Changelog ==
= 4.4.7 - 2026-04-23 =
* New - Product Group Fields
* New - Slider range
* Update - Unauthenticated AJAX allows arbitrary file deletion
* Compatible with WooCommerce 10.7.x

= 4.4.6 =
* New - Section Layout (Premium) - Organize addon sections using Accordion, Tabs, or Step Wizard layouts
* New - Section Layout Global Settings (Premium) - Set global defaults for all section layouts with per-addon override capability
* New - Accordion Layout options: Mode (Single/Multi Open), Default Expanded (All/First/None), Icon Style (Plus/Minus, Chevron Arrow, Caret Triangle)
* New - Tabs Layout options: Style (Horizontal, Vertical, Pills, Underline), Position (Left/Right for vertical tabs)
* New - Wizard Layout options: Progress Bar, Step Indicators with completed/error states, Navigation buttons
* New - General Behavior settings: Animation Speed (Fast/Normal/Slow), Remember User State, Deep Linking, Highlight Sections with Errors
* New - Smart validation for hidden fields - Automatically expands sections with errors, shows error indicators, and focuses on invalid fields
* New - Error indicators on tabs/accordion headers/wizard steps when sections contain validation errors
* New - Keyboard accessibility for all layouts (arrow keys, Enter/Space, Home/End navigation)
* New - Custom (User Entered) pricing type for number fields - Accept donations, tips, and custom amounts
* New - Dynamic (Per Unit) pricing type - Calculate price per 'n' number of units
* New - Dynamic - Exclude Base pricing type - Price per unit excluding base quantity
* Improved - Tax display on product page - Shows "Including € XX.XX Tax" matching cart display format
* Improved - Per-addon tax class support - Each addon can have its own tax class (standard, reduced-rate, zero-rate)
* New - Per-option stock management (Premium) - Set stock quantity per option for option-based fields (Select, Radio, Checkbox, Color/Image/Text Switcher)
* New - Stock validation before add-to-cart - Prevents adding to cart when selected options are out of stock
* New - Stock deduction at checkout - Option stock is reduced when order line items are created
* New - Stock restoration on order cancellation, refund, or failure
* Improved - Tax info updates dynamically when switching product variations
* Compatible with WooCommerce 10.5.x

= 4.4.5 =
* New - Repeater field type (Premium) - Allow customers to duplicate a group of fields on the product page
* New - Repeater features: select fields to repeat, configurable min/max instances, custom button labels
* New - Repeater pricing: child field prices accumulate across all instances with cart/order support
* New - AJAX server-side search for addons list page with pagination support in admin side
* New - Introduced new actions and filters for better developer extensibility
* New - Added documentation links in each field type tabs for quick reference
* New - Theme compatibility system for Elessi/Flavor and similar themes
* New - Global Settings section - Set global defaults for field labels that apply to all addon fields
* New - Auto (Smart Detection) option for Title Position - Automatically selects optimal label display based on field type
* New - Filters: epofw_before_render_addon_fields, epofw_cart_item_data_after_addon, epofw_before_save_addon_data, epofw_before_duplicate_addon_data
* New - Actions: epofw_before_addon_html, epofw_after_addon_html, epofw_after_add_cart_item_data, epofw_before_delete_addon, epofw_after_delete_addon, epofw_after_save_addon, epofw_after_duplicate_addon
* New - Actions: epofw_before_global_label_settings, epofw_after_global_label_settings, epofw_global_settings_sections
* Improved - Compatibility with Elessi/Flavor themes for addon positioning
* Performance - Added caching for general settings to reduce database queries
* Performance - Added static caching for product terms (categories/tags) in conditional logic evaluation
* Performance - Added object caching for addon post IDs list on frontend
* Performance - Added static caching for per-product addon match results
* Performance - Optimized WooCommerce tax display option calls in price functions
* Performance - Added object caching for global settings with 1-hour expiration
* Fixed - Currency display issues in addon price formatting
* Fixed - JavaScript errors in addon price calculation
* Fixed - Additional Rules flash/flicker on page load - addons now hide instantly via server-side pre-evaluation
* Fixed - Addons without Additional Rules no longer display on product pages - rules are now required for addon visibility
* Fixed - Column group drag-drop reorder not saving correctly after save

= 4.4.4 =
* New - Nested logic structure for Additional Rules (AND/OR groups)
* Improved - Additional Rules now support grouped conditions with AND/OR logic
* Improved - Better flexibility for complex conditional rules
* Improved - Cart item price calculation now includes addon prices on-the-fly for accurate display
* Fixed - AJAX add to cart not calculating addon prices correctly in cart and mini-cart
* Fixed - Addon prices being double-counted when "Based on product setting" tax option is selected
* Fixed - Mini-cart widget displaying incorrect prices after AJAX add to cart
* Fixed - Multiselect field values not displaying in cart
* Fixed - Multiselect field prices not calculating correctly
* Fixed - Two column fields css issue
* Fixed - Duplicate nonce issue

= 4.4.3 =
* Fixed - Additional Rules

= 4.4.2 =
* Fixed - Documentation

= 4.4.1 =
* New - Separator field type - Add horizontal divider lines to visually separate sections or fields
* New - Separator customization options: color, style (solid, dashed, dotted, double), width, and margin
* New - Email, URL, and Phone Number validation for Text field restrictions
* New - HTML5 input types (email, url, tel) with mobile keyboard optimization
* New - Pattern validation with helpful error messages for Email, URL, and Phone
* New - Tag conditions now available in Free version
* New - Select All/Clear All buttons for conditions now available in Free version
* New - Slider field now available in Free version
* Improved - Real-time addon price updates for email, url, and tel input types
* Fixed - Container query layout issue causing fields to not display on some themes
* Fixed - Added fallback media queries for better theme compatibility
* Fix datepicker advance pricing, readonly field, and date format issues
* Fixed - Datepicker Price not showing accurate in product page
* Fixed - Advance Datepicker Price rules not saved
* Remove custom price formula is unnecessary for datepicker field

= 4.4.0 =
* New - Complete UI redesign with modern, intuitive admin interface
* New - Section management system with comprehensive settings (title, description, styling, custom CSS)
* New - Row & Column layout system for organizing fields (single and two-column layouts)
* New - Custom database tables for improved performance and data structure
* New - Modular JavaScript architecture for better code organization
* Removed - Table structure option (Display Structure Format setting) - all addons now use div structure only
* Removed - Old CSS files (epofw-admin.css, epofw-public.css) replaced with new structure
* Deprecated - `epofw_html_table_field_label_td` - Use `epofw-field-label-html.php` template directly
* Deprecated - `epofw_html_table_field_input_td` - Use `epofw-field-input-html.php` template directly
* Deprecated - `epofw_field_title` - Use template system directly
* Deprecated - `epofw_field_subtitle` - Use template system directly
* Deprecated - `epofw_field_label_start_td` - Use template system directly
* Deprecated - `epofw_field_label_end_td` - Use template system directly
* Deprecated - `epofw_field_input_start_td` - Use template system directly
* Deprecated - `epofw_html_start_tr_display` - Use template system directly
* Deprecated - `epofw_html_end_tr_display` - Use template system directly
* Deprecated - `epofw_html_start_table_display` - Use template system directly
* Deprecated - `epofw_html_end_table_display` - Use template system directly
* Deprecated - `epofw_before_display_structure` (Premium) - Display Structure Format setting has been removed
* Deprecated - `epofw_after_display_structure` (Premium) - Display Structure Format setting has been removed
* Deprecated - `epofw_field_before_title` (Premium) - Use template system directly
* Deprecated - `epofw_field_after_subtitle` (Premium) - Use template system directly
* Compatible with WooCommerce 10.4.x
* Compatible with WordPress 6.9.x

= 4.3.5 =
* Compatibility update for WooCommerce 10.3.x
* Compatibility update for WordPress 6.9.x
* Fixed: Variation price not updating in the subtotal when switching variations
* Fixed: Logical field not displaying for the Textarea field
* Fixed: ImageSwitcher not uploading files

= 4.3.4 =
* Compatible with WooCommerce 10.1.x

= 4.3.3 =
* New – Configuration add-on options in a modal popup on the Shop page for simple products.
* Compatible with WooCommerce 10.0.x
* Fixed - Conditional logic issue with switch, slider and number field

= 4.3.2 =
* Fixed quantity issue with addon
* Fixed subtitle type selection issue
* Added nonce and validate nonce for epofw product adodns

= 4.3.1 =
* Compatible with WordPress 6.8.x
* Compatible with WooCommerce 9.8.x
* Code optimization
* Added new language file fr

= 4.3 =
* Compatible with WordPress 6.8.x
* Compatible with WooCommerce 9.8.x
* Fixed - PHP Notice: Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>.

= 4.2 =
* Update - Fixed an issue with draggable for options.
* Compatible with WooCommerce 9.8.x
* Fixed - Sanitizing attribute for the field types

= 4.1 =
* New Field - Switch
* Update - Fixed an issue on the admin side where text couldn't be selected when opening the accordion due to movement. Now, drag and drop is restricted to the field header only.

= 4.0 =
* Update - Integration freemius

= 3.1.1 =
* Fixed fatal error
* Fixed - add cart item without product option

= 3.1.0 =
* Add nonce after add to cart button.
* Refactor code
* Compatible with WooCommerce 9.7.x

= 3.0.9 =
* New - Import Dummy Data
* Refactor code
* Compatible with WordPress 6.7.x
* Compatible with WooCommerce 9.6.x

= 3.0.8 =
* Compatible with WordPress 6.7.x
* Compatible with WooCommerce 8.9.x

= 3.0.7 =
* Refactor code

= 3.0.6 =
* Compatible with WordPress 6.5.x
* Compatible with WooCommerce 8.8.x
* Verified nonce when enable/disable option and change field type.

= 3.0.5 =
* Compatible with WordPress 6.5.x
* Compatible with WooCommerce 8.8.x
* Fixed - Cross site scripting

= 3.0.4 =
* Compatible with WordPress 6.4.x
* Compatible with WooCommerce 8.4.x
* Fixed - Scrambled CSS Class for options
* Fixed - Cross site scripting

= 3.0.3 =
* Compatible with WordPress 6.3.x
* Compatible with WooCommerce 8.0.x
* Update - Addon options can be drag and drop

= 3.0.2 =
* Compatible with WooCommerce 7.8.x
* Fixed - Duplicate addons on single product page

= 3.0.1 =
* Compatible with WooCommerce 7.7.x
* Compatible with WordPress 6.2.x
* Fixed - Multiple addons on single product page then subtotal count multiple times

= 3.0 =
* Compatible with WooCommerce 7.5.x
* New - General Settings - Addon Details Title
* New - General Settings - Subtotal Title
* New - Addon template can modified via theme
* Compatible Addon field with pro plugin
* Fixed - Minor issue

= 2.0.9.2 =
* Compatible with WooCommerce 7.3.x

= 2.0.9.1 =
* Compatible with WooCommerce 7.1.x
* Compatible with WordPress 6.1.x
* Fixed error with php8.1

= 2.0.9 =
* Compatible with WooCommerce 7.0.0
* Compatible with WordPress 6.0.x

= 2.0.8 =
* Fixed duplicate field issue

= 2.0.7 =
* Compatible with WooCommerce 6.7.x
* Compatible with WordPress 6.0.x

= 2.0.6 =
* Compatible with WooCommerce 6.5.x

= 2.0.5 =
* Compatible with WooCommerce 6.3.x
* Compatible with WordPress 5.9.x

= 2.0.4 =
* Fixed - Radio button issue
* Compatible with WooCommerce 6.2.x

= 2.0.3 =
* Fixed - Radio button issue
* Fixed - CSS Issue
* Fixed - Wrong price display if select another currency from wocommerce setting
* Compatible with WordPress 6.2.x

= 2.0.2 =
* Fixed - critical problem to save data

= 2.0.1 =
* Fixed - Remove comma after some enqueue script and style
* Compatible with WordPress 5.9.x

= 2.0 =
* New - Enable/Disable Field Options using checkbox
* Fixed - PHP Warning
* Update - Code, CSS and JS
* Compatible with WooCommerce 6.1.x
* Compatible with WordPress 5.8.x

= 1.9.8 =
* Fixed - When click on variable product from cart and back to product page then price calculation issue.
* Fixed - PHP Warning
* Compatible with WooCommerce 5.9.x
* Compatible with WordPress 5.8.x

= 1.9.7 =
* Fixed - Not working with greek/chinese characters
* Fixed - PHP Warning
* Compatible with WooCommerce 5.9.x
* Compatible with WordPress 5.8.x

= 1.9.6.4 =
* Fix - PHP Uncaught TypeError

= 1.9.6.3 =
* Fix - Greek character display issue

= 1.9.6.2 =
* Fix - PHP Warning

= 1.9.6.1 =
* Fix - PHP Warning

= 1.9.6 =
* Compatible with WooCommerce 5.8.x

= 1.9.5 =
* Currency position issue with subtotal on product detail page
* Compatible with WooCommerce 5.7.x
* Compatible with WordPress 5.8.x

= 1.9.4 =
* Addon price is not displaying properly in product detail page
* Compatible with WooCommerce 5.6.0
* Compatible with WordPress 5.8

= 1.9.3 =
* Remove action not working due to instance class
* Compatible with WooCommerce 5.5.2
* Compatible with WordPress 5.8

= 1.9.2 =
* Compatible with WooCommerce 5.5.x

= 1.9.1 =
* Fixed - Additional rule was not working when we add two addon forms for the same category.
* Compatible with WooCommerce 5.4.x

= 1.9.0 =
* Maintenance Release

= 1.8.9 =
* Fixed - Pricing sign issue
* Update - Compatible with WordPress 5.7.2
* Compatible with WooCommerce 5.3.0

= 1.8.8 =
* Fixed - Product search issue with cyrillic input

= 1.8.7 =
* Fixed - Variable price issue in cart
* Fixed - JS error in product page

= 1.8.6 =
* Fixed - Minor changes

= 1.8.5 =
* Price issue with variable product
* Compatible with WooCommerce 5.2.2
* Compatible with WordPress 5.7.1

= 1.8.4 =
* Compatible with WooCommerce 5.2.x

= 1.8.3 =
* Fixed - Colorpicker was not working.

= 1.8.2 =
* Compatible with WooCommerce 5.1.x

= 1.8.1 =
* Display currency position based on WooCommerce Settings.

= 1.8 =
* Compatible with WooCommerce 5.0.X
* Update strings for translation

= 1.7 =
* Compatible with WooCommerce 4.9.X
* Update language pot file

= 1.6 =
* Fixed - Missing Text Domain

= 1.5 =
* Fixed - Undefined index issue

= 1.4 =
* Compatible with WooCommerce 4.8
* Compatible with WordPress 5.6

= 1.3 =
* Maintenance Release - Update demo in readme.txt file

= 1.2 =
* Fixed - Addon field not showing in cart page.

= 1.1 =
* Compatible with WooCommerce 4.6.1

= 1.0 =
* Initial release