Need to allow customers to define product add-ons?
WooCommerce Product Add-on Forms is a powerful form builder that lets you quickly create diverse forms that can be attached to any product. When a customer views the product they see your form above the Add to Cart button. So you can easily collect additional information from a customer when they buy your products.
Forms can contain any number of fields, including text input boxes, dropdown select lists, radio buttons, checkboxes, image select lists, swatch select lists, currency, passwords, dates, times, URLs, file uploads, color pickers, numeric fields, rich text editor fields, and more. And you can group your form fields into sections if you need to. Plus, any field can be set to be required or optional. If a field is required customers must enter data into the field before they can add the item to their cart.
You can also optionally assign a price to any field or field options. The price gets added to or subtracted from the base price of the product depending on how you define the price. For example, maybe you need to add a group of radio buttons to a product page. If you need to charge an extra amount if the user selects one of the radio buttons you can set the same price for each radio button option or set a different price for each radio button option. The same holds true for dropdown lists and checkboxes, etc. Price can be a flat fee to be added such as 10.25, or a flat fee to be subtracted such as -4.25, or it can be a percentage such as 10% added to the base cost of the product, or a negative percentage such as -10% subtracted from the base cost of the product, or it can be a multiplier such as 2x. Percentages and multipliers are calculated against the base cost of the product.
You can also conditionally display fields using simple form conditional logic rules. So for example, maybe you have a form that contains a checkbox and a text box, but you don’t want the text box to appear unless the customer checks the checkbox. No problem – you can do that easily. Conditional logic can be applied to any form field, or an entire section of fields.
It’s a great way to gather information for notes, engraving, monogramming, gift messages, and just about any type of information you’d like to collect from a customer when they buy your products.
When using forms in a product page all the form data is stored with the customer’s order so you can easily review the data by simply viewing the order in the admin area of your site. And the customer sees the data they provide in their order receipt and when viewing their order in your site’s My Account page.
Here’s what the form building looks like, as you can see in the screenshot the field types are on the left, and the form itself is on the right. In this example we’ve added two fields, a checkbox field and a radio button field.
Adding new fields is a breeze, just click the field type to add it to the form, or drag a field onto the form. You can re-order the fields with simple drag and drop too. To edit a field just click the down arrow on the right side of the field box to expand the box, then you can edit the settings.
The CSS for the forms is entirely customizable, so you can adjust it to suit your needs without losing your changes when you update the plugin.
Questions? Use the Contact Us page or call us. Yes, we really do answer the phone during normal business hours.
Compatibility: WooCommerce 3.0 and newer
Current version: 3.2.7
We keep all of our software up to date with the latest versions of WooCommerce and WordPress.
If you don't see any recent changes below it's because none have become necessary!
Version 3.2.7 - January 17, 2023
Update conditional logic to work for hiding/showing entire fieldset groups fieldsets. Note that in this case conditional logic must be applied to all fields within the fieldset.
Version 3.2.6 - February 15, 2022
Remove nestedSortable() and use regular sortable() instead
Force all fields to be a "$field->field_level = 0" to remove nested view
WooCommerce 6.x compatibility
WordPress 5.9 compatibility
Version 3.2.5 - May 11, 2020
Updated JS for image select fields to handle selection highlighthing for forms with multiple image selects
Added "maxlength" setting for text and textarea fields
Version 3.2.4 - January 15, 2020
Adjusted "label" processing used when bulk adding "Select" options
Version 3.2.3 - July 22, 2019
Adjusted actions for mini-cart cart totals compatibility
Version 3.2.2 - July 20, 2019
Adjusted code for calculating add-on prices when using IgniteWoo's Dynamic Discounts and Wholesale Pro Suite quantity discounts
Adjusted code for calculating grand total with add-on prices when using IgniteWoo's Dynamic Discounts and Wholesale Pro Suite quantity discounts
Version 3.2.1 - July 19, 2019
Added support for IgniteWoo's Dynamic Discounts and Wholesale Pro Suite quantity discounts
Version 3.2 - July 18, 2019
Added new field type "Image select" - can be used for swatches, patterns, etc
Version 3.1 - July 16, 2019
Ensure add-on totals wrapper is 100% width
Added support for assigned forms to product categories
Added support for giving forms a priority, useful when assigning forms to product categories
Version 3.0.8 - April 30, 2019
Updated getting price from IgniteWoo's Wholesale Pro Suite in relation to wholesale/tier buyers that have a global or category discount
Version 3.0.7 - January 30, 2019
Added support for IgniteWoo's Wholesale Pro Suite
Version 3.0.6 - May 10, 2018
Added 12 column grid support via numeric column layouts. Useful for making mobile-enabled form layouts.
Version 3.0.5 - May 1, 2018
Do not format an empty price
Version 3.0.4 - April 30, 2018
Ensure add-ons do not show a price of $0.00 if no price is set (price is empty) for the option
Format prices on the product page
Version 3.0.3 - April 17, 2018
Change the field prices data type in the database to "text" to match field options
Version 3.0.2 - February 23, 2018
Fixed broken menu link
Version 3.0.1 - January 31, 2018
Fixed dragging fields into the layout
Version 3.0 - October 11, 2017
Switched to symantec versioning for the plugin version
Replaced deprecated function names for use with WooCommerce 3.x
Altered product property access to avoid warning messages
Ensure negative price adjustments appear in the cart item meta data display
Version 2.1.28 - September 24, 2015
Updated validation script to eliminate default value assignment in function definition - cross browser support
Version 2.1.27 - September 3, 2015
Version 2.1.26 - April 23, 2015
Adjusted class variable declarations for changes in PHP 5.x
Ensure list of countries is loaded when needed
Adjust hook priority for woocommerce_get_item_data
Version 2.1.25 - March 9, 2015
Version 2.1.24 September 4, 2014
Updated "Add-on Totals" element display for variation price processing no add-ons are selected or no prices are associated with selections
Version 2.1.23 September 4, 2014
Removed unnecessary table query
Adjust $data variable checking for input validation in case $data contains an array and not a string
Narrowed drag wrapper and add drag icon
Adjusted bulk addition of value to leave associated price field blank
Fixed default selection for dropdown lists
Adjusted condition field logic for field inside a section that are not required
Version 2.1.22 August 12, 2014
Change bulk add ajax hook name
Version 2.1.21 July 18, 2014
Updated colorpicker JS code to use the WP Colorpicker
Version 2.1.20 May 1, 2014
Updated to support IgniteWoo's Tiered Pricing plugin
Version 2.1.19 - May 1, 2014
Tweak: Don't queue ajax call if no form fields have a price or no add-on total field is present
Version 2.1.18 - April 7, 2014
Changed default setting inputs for checkbox fields - you can now make a checkbox selected by default
Fixed default setting for radio button fields - if a default option is selected it will appear selected on the product page
Fixed calculations for hidden fields nested inside form sections
Version 2.1.17 - April 2, 2014
Updated conditional rule processing to not require fields that are hidden
Updated conditional rule processing to not add costs for fields that are hidden
Added cache busting for products that have forms attached
Version 2.1.16 - March 31, 2014
Removed "chosen" selector from product form selector field
Version 2.1.15 - March 27, 2014
Modified selector for conditional field display
Version 2.1.14 - March 19, 2014
Version 2.1.13 - March 16, 2014
Added check for required fields in forms. If there are required field Add to Cart button and URL are changed
Moved the display of Addon Total and Grand Total for variable products
Version 2.1.12 - March 13, 2014
Added the ability to have negative percentage cost offsets
Version 2.1.11 - March 13, 2014
Added the ability to have negative integer cost offsets
Version 2.1.10 - March 12, 2014
Added the ability for a field cost to be a percentage increase or a multiplier increase
Optimized the JS for the total field calculation
Version 2.1.9 - February 20, 2014
Streamlined ajax call for calculating add-on totals
Version 2.1.8 - February 19, 2014
Tweaked field output to show prices on product page
Added new optional Add-on Total field to display add-on total costs
Version 2.1.7 - February 10, 2014
Tweaked plugin url to support sites that use SSL in the WordPress admin area
Version 2.1.6 - February 7, 2014
Tweaked form editor page name slug
Version 2.1.5 - February 7, 2014
Tweaked form assignment processing on product edit pages
Version 2.1.4 - February 7, 2014
Tweaked menu permissions for WooCommerce 2.0.x
WooCommerce 2.1 compatibility
Version 2.1.3 - February 7, 2014
Tweaked table creation vars
Version 2.1.2 - February 7, 2014
Tweaked "trim" function calls
Version 2.1.1 - February 6, 2014
Tweaked "trim" function calls
Version 2.1 - February 5, 2014
Initial public release
Version 2.0 - February 1, 2014
From: 39.00 / year
A powerful form builder that lets you quickly create forms that can be added to any product page.
All of our plugins come with great support via email and phone.