Changelog

What’s new in WPActPro

Every release across all our plugins — new features, improvements and fixes.

v4.4.9.1

Extra Product Options

August 27, 2026

Fix

Select All and Clear All had no effect in an addon’s Additional Rules. The buttons fetched the full Product, Category, Tag, Variation or User Role list correctly but never placed it in the condition field, so the box stayed empty and Clear All appeared to do nothing. Both buttons now fill and clear the condition row they belong to

Update

The “one-off” note shown beside a flat quantity-based charge in the product page addon totals is now translatable, instead of always appearing in English

v1.1.0

Shipping Rate Builder

August 25, 2026

New

Initial release.

New

Rule engine with zone-aware shipping method — table rate, conditional, weight based and free shipping rules.

New

Visual rule builder: WHERE / WHEN / THEN / SHOW AS, with a live plain-language summary and 10 goal templates.

New

Rules dashboard with drag-to-reorder priority, live checkout preview and global save.

New

Simulator — run any test cart through the real engine and see which rules matched, which were skipped and why.

New

Condition groups: a rule can match on any of several groups — for example, “cart weight over 10 kg” OR “contains the Fragile category” — instead of only every condition at once. Adding a second group is a Pro feature; everything else here is free.

New

Tiered extras (up to 5 tiers per rule) by quantity, weight or subtotal range.

New

Free-shipping progress bar on cart and checkout, classic and block alike.

New

Conditions on cart subtotal, cart weight, item quantity, products, product categories and shipping classes.

New

Extension API: add-ons can register condition types, resolution modes and lookup sources, and the builder renders text, dropdown, multi-select, date and time conditions straight from their schema.

New

REST API and WP-CLI (wp wpactpro-sr rules …).

New

HPOS compatible; works with the classic and Block cart/checkout.

v1.0.0

Delivery Date

August 13, 2026

New

Initial release.

New

Rule-based delivery estimates with automatic most-specific-rule matching.

New

Order cutoff with live “Order within” countdown and a “Cutoff passed — ships next business day” note after the cutoff.

New

Working schedule, holidays & closures, per-product overrides.

New

Scheduled start date, per rule and per product.

New

Display on product, shop, cart, checkout and order emails, with a live admin preview that matches the storefront exactly.

New

Message template, icon picker and accent-tinted badge design.

New

HPOS, Cart & Checkout Blocks, WooCommerce REST and Store API support.

v4.4.9

Extra Product Options

August 11, 2026

Fix

Cross-field Price Rules combined with Quantity-Based (Volume / Tiered) Pricing now apply correctly for every tier type. A fixed rule such as “Subtract 10” is taken off the line total once only when the matched tier is a flat type; against a per-unit tier, and when the quantity matches no tier at all, it now comes off each unit and is multiplied by the quantity. Percentage and Multiply rules are unaffected. Totals may change for setups that combined a per-unit tier with a fixed Price Rule

Fix

Image Switcher option images no longer break when a site moves to a new address or drops a staging sub-directory. The stored image URLs live in the plugin’s own tables, which search-and-replace tools skip, so every swatch rendered blank. Images are now re-pointed at the current uploads directory automatically, and URLs that genuinely point elsewhere (a CDN, another site) are left untouched

Fix

Advanced Validation Rules can now be switched off. Turning the toggle off appeared to save, but the setting was read back as enabled on the next page load, making it impossible to disable once any rule had been entered

New

Product page addon totals now show the quantity behind every amount. The subtotal reads “Subtotal (119.00$ x 6)” with the line total, and a field with its own quantity shows “(12.00$ x 4)” beside its name, so a shopper can see exactly how the figure was reached instead of a per-item price that looked like an order total

Update

The Quantity-Based Pricing panel now states that a matching tier REPLACES the Field Price above it, and warns when the field uses a calculated Price Type (per character, per word, or a custom formula) whose result the tier would discard

Update

The “Use the product quantity” setting in Quantity Settings (previously labelled “Product Quantity”) now explains what it does to the price, with worked figures for both states

Fix

Per-word pricing now counts words the same way the product page does. Languages that do not use the Latin alphabet (Japanese, Chinese, Thai, Arabic) were counted incorrectly, so the cart charged a different amount from the price shown

Fix

Server-side validation now runs when an item is added to the cart. Validation rules were only ever enforced in the browser, so a customer bypassing the page’s scripts could add a product with values that break the rules. Rules are now re-checked on the server, and anything the check cannot positively identify is allowed through so that valid purchases are never blocked

Fix

Advanced Validation rules are now cleaned up when an addon is saved. Invalid entries such as a non-numeric character limit or a malformed pattern were stored exactly as typed instead of being corrected or discarded

Fix

Validation character and word limits now count the same way the browser does, so a value accepted on the product page is no longer rejected at the cart for non-English text

Fix

Per-character pricing now charges for the characters typed rather than the bytes they occupy. Accented, non-Latin and other non-ASCII text (“café”, Japanese, Cyrillic) was counted by byte length on the server, so the cart charged more than the price shown on the product page. Server and product-page totals now always agree. Prices for plain English text are unchanged

Fix

Product Group option settings (label, price, and the linked product) could be saved in an unusable form, so the field’s product list did not work correctly after saving. Options are now always stored in the correct structure

Fix

Per-option stock could drain faster than items were actually sold. When a multi-select or checkbox group submitted the same option more than once, each repeat was counted as a separate sale and deducted another unit from that option’s stock

Fix

Deleting a post or product that had no saved addon options could silently discard other database changes made in the same request. The plugin opened a database transaction to remove the addon’s data, and when there was nothing to remove it returned without closing it, so anything saved afterwards in that request was rolled back when the page finished loading

Fix

Deleting an addon now removes all of its stored layout data. One level of the layout structure was never cleaned up, so unused rows built up in the plugin’s tables over time and were never removed

Fix

Fields that disappeared from addons migrated from older versions are restored. The first field of every migrated legacy addon was hidden everywhere in the plugin — the builder, the product page and the cart — even though it was still stored safely in the database. Updating brings those fields back automatically, with their settings and prices intact. If you re-created a missing field by hand after the upgrade you may now see it twice, and can delete the duplicate

Fix

Custom Price Formulas using powers (for example pow({value}, 2) or Math.pow({value}, 2)) were charged as 0.00 instead of the calculated amount, so products using them added nothing to the total

Fix

Importing addons in “Update existing” mode failed immediately with a fatal error and imported nothing. Update-mode imports now complete normally

Fix

Migration status and verification screens reported 0 fields for every addon, making a completed migration look like it had lost all data. The counters now report the real field count

Fix

Separator and Product Group were missing from the field type list on the About page

Fix

The Repeater field no longer shows an empty settings card in the builder on the free version

Code

Test suite expanded to 782 automated tests covering pricing, storage, migration, import/export and the addon field types, and the suite now runs against its own isolated database so results are reproducible

Fix

Product page addon totals no longer show duplicate option rows (and a wrong subtotal) for fields saved by old plugin versions with label-based input names containing unsafe characters (spaces, dots, slashes, parentheses). A one-time background migration normalizes those stored names to the canonical epofw_field_{id} format, and field rendering plus frontend JS now normalize such names defensively

New

Documentation page redesign: Getting Started video hero, live doc search with All / General / Field Types / Pricing filter tabs, and a resources sidebar (Full Documentation, Video Tutorials, Support)

New

Guided Tour: an end-to-end interactive spotlight walkthrough that follows the real build flow — from Add New on the addons list, through the addon configuration (Status, Name, Display Rules, Position, Section Layout), adding a section, dropping in a field, and every field-settings tab (General, Label, Options, Quantity, Pricing, Conditional Logic, WooCommerce, Container). It waits for you to perform each action, auto-switches tabs, resumes across the page change, and can be launched anytime from the “Take a Tour” buttons in Quick Actions, the builder and the Documentation page (also auto-shown once for new users)

Fix

Elementor “Product Add to Cart” widget compatibility: addon fields no longer collapse into one row with the quantity box and Add to Cart button

New

Quantity-Based (Volume / Tiered) Pricing: set price breaks per field where the matched tier prices all units; four tier types (Fixed or % of product price, each per unit or flat), by product or field quantity, with live preview and cart/shop support

Fix

Tooltip help icon/text no longer leaks into the shop quick-view “Apply” options summary label

Update

French (fr_FR) translation refreshed to 100% coverage (300 new/updated strings, including Volume Pricing, Guided Tour, Import/Export, Validation and Documentation screens)

Fix

Product page price preview now always matches the cart: priced fields with pre-selected defaults on hidden wizard steps or collapsed accordion sections (default-checked options, slider at its minimum) are counted in the addon totals from page load, so customers are never charged more at checkout than the product page showed

New

Discount Rules for WooCommerce (Flycart) compatibility: store discounts now apply to the product price only — addon prices keep their full configured amount instead of being discounted along with the product (applies only when a discount rule actually matches; flat-amount discounts and undiscounted items are untouched). The product-page addon totals preview also uses the discounted product price, so the preview always matches the cart

Fix

Values placed by browser autofill are now priced in the addon totals as soon as the browser exposes them (at the customer’s first interaction) instead of only when clicking Add to Cart

Fix

Password fields no longer trigger the browser’s saved-login autofill (autocomplete=”new-password”), which could silently fill neighbouring priced text fields with the saved username

Fix

Addon option prices now display in the Cart/Checkout block, not just the classic cart and mini-cart. The price is shown next to each selected option (e.g. “Choose Your Size: XS (99.00$)”) consistently across all cart types

Fix

Product Group no longer shows a Pricing Options tab. Each product is priced individually in the Product Group Options tab, so the field-level pricing tab (which was informational only, with no usable controls) has been removed

Fix

The Pricing tab intro banner now shows an accurate message for option-based fields (Select, Radio, Checkbox, etc.): they are priced per option and use Price Rules / Volume pricing, instead of the generic “set the field price” text

New

Redesigned Pricing Options tab: a clear Field Price → Price Rules → Volume calculation-order map at the top, each pricing system in its own collapsible card with an On/Off summary. Purely a UI change — saved data, input names, and how prices are calculated are all unchanged

Fix

Added proper spacing above the Price Rules section in the Pricing tab so it is clearly separated from the field’s own pricing controls (e.g. the Rating per-star rows and Add Row button)

Fix

Conditional Logic (Visibility) rule value dropdown was empty when the trigger field was a Country or other option-based field (Select, Radio, Checkbox Group, Multiselect, colour/text/image switchers); it now correctly lists that field’s options so a matching value can be chosen

Fix

Volume / Tiered pricing “Tier basis” no longer offers “Field quantity” for field types that have no Quantity tab (Rating, and heading/paragraph/separator/hidden/password), where a field-quantity basis could never apply

v4.4.8

Extra Product Options

June 30, 2026

New

Price Rules now work on option-based fields (Select, Radio, Checkbox, Checkbox Group, Multiselect, and Country) – adjust the selected option’s price when another field has a specific value, with live product-page preview and cart/checkout support

Fix

Tooltip / Help Icon redesigned (dark tooltip with a visible arrow and correct padding) and no longer clipped by theme or plugin styles

Fix

Country field price is now consistent between the dropdown label, the product-page add-on details, and the cart

Fix

“Migrate to Sections” button no longer shows misaligned loading text (now shows a clean spinner)

Update

Added a loading indicator when adding a new Price Rule

New

Import/Export addon configurations

New

Tooltip / Help Icon feature

New

Help Text input in General Settings

New

Regex Pattern Validation for 8 field types (Text, Textarea, Email, Phone, URL, Password, Number, Hidden)

New

Min/Max Length constraints validation

New

Min/Max Words constraints validation

New

Custom Validation Error Messages

New

Persistent error display until requirements met

New

Real-time validation feedback on blur and input

New

Add-to-Cart button disabled until validation passes

New

Country Selector field type with WooCommerce country dropdown

New

Per-Country Pricing with dynamic price calculations

New

Cross-Field Pricing Rules with 5 operators (Add, Subtract, Multiply, Percentage Add, Replace)

Improved

Tooltip styling with arrow pointer and shadow

Improved

Full accessibility support for tooltips

Fix

Tooltip overflow clipping

Fix

Disabled fields with empty field_status being displayed on shop page when they shouldn’t be

Fix

Additional rules for addons not properly excluding products due to type mismatch in product/product_variation condition comparisons

Fix

Product Quantity condition in additional rules always evaluating to true instead of checking actual cart quantity

Fix

Missing class loads in plugin initialization (import-export and bulk-export-import classes)

Fix

Better error handling for failed exports and JSON parsing

Security

Proper output escaping for nonce values

Code

PHPCS compliance and code quality improvements

Compatible

Compatible with WooCommerce 10.9.x and WordPress 7.x

v4.4.7

Extra Product Options

April 23, 2026

New

Product Group Fields

New

Slider range

Update

Unauthenticated AJAX allows arbitrary file deletion

Compatible

Compatible with WooCommerce 10.7.x

v4.4.6

Extra Product Options

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

Compatible with WooCommerce 10.5.x

v4.4.5

Extra Product Options

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

Fix

Currency display issues in addon price formatting

Fix

JavaScript errors in addon price calculation

Fix

Additional Rules flash/flicker on page load – addons now hide instantly via server-side pre-evaluation

Fix

Addons without Additional Rules no longer display on product pages – rules are now required for addon visibility

Fix

Column group drag-drop reorder not saving correctly after save

v4.4.4

Extra Product Options

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

Fix

AJAX add to cart not calculating addon prices correctly in cart and mini-cart

Fix

Addon prices being double-counted when “Based on product setting” tax option is selected

Fix

Mini-cart widget displaying incorrect prices after AJAX add to cart

Fix

Multiselect field values not displaying in cart

Fix

Multiselect field prices not calculating correctly

Fix

Two column fields css issue

Fix

Duplicate nonce issue

v4.4.3

Extra Product Options

Fix

Additional Rules

v4.4.2

Extra Product Options

Fix

Documentation

v4.4.1

Extra Product Options

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

Fix

Container query layout issue causing fields to not display on some themes

Fix

Added fallback media queries for better theme compatibility

Fix

Fix datepicker advance pricing, readonly field, and date format issues

Fix

Datepicker Price not showing accurate in product page

Fix

Advance Datepicker Price rules not saved

Removed

Remove custom price formula is unnecessary for datepicker field

v4.4.0

Extra Product Options

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

Compatible with WooCommerce 10.4.x

Compatible

Compatible with WordPress 6.9.x

v4.3.5

Extra Product Options

Compatible

Compatibility update for WooCommerce 10.3.x

Compatible

Compatibility update for WordPress 6.9.x

Fix

Variation price not updating in the subtotal when switching variations

Fix

Logical field not displaying for the Textarea field

Fix

ImageSwitcher not uploading files

v4.3.4

Extra Product Options

Compatible

Compatible with WooCommerce 10.1.x

v4.3.3

Extra Product Options

New

Configuration add-on options in a modal popup on the Shop page for simple products.

Compatible

Compatible with WooCommerce 10.0.x

Fix

Conditional logic issue with switch, slider and number field

v4.3.2

Extra Product Options

Fix

Fixed quantity issue with addon

Fix

Fixed subtitle type selection issue

New

Added nonce and validate nonce for epofw product adodns

Get notified about new releases

We’ll email you when we ship updates to your plugins.