Extra Product Options for WooCommerce
🔥 #1 WooCommerce Product Options Plugin with Nested Conditional Logic Transform your WooCommerce product pages with Extra Product Options for WooCommerce by WPActPro. Add up to 27+ custom product fields with advanced nested conditional logic (AND/OR groups) – 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. Why Choose Extra Product Options for WooCommerce? ✅ 27 Field Types – 20 FREE + 7 Premium field types including Country Selector, Rating, Tooltip, and advanced switchers ✅ Nested Conditional Logic – Advanced AND/OR groups (FREE version exclusive!) ✅ Easy to Use – Drag & drop builder with modern UI ✅ Highly Customizable – Section settings, row/column layouts, styling options ✅ Performance Optimized – Custom database tables for faster queries ✅ Developer Friendly – 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 WooCommerce store owner, to increase your profits. Extra Product options are much easier, more flexible, and faster to use than variable products. 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.8 Version 4.4.8 introduces the Country Selector and Rating field types, Tooltip/Help Icon feature, Advanced Validation System, Cross-Field Pricing Rules, and Import/Export functionality for enhanced product customization and addon management: 📤 Import/Export Addon Configurations – Export and import addon configurations as JSON files ⭐ Rating Field Type – Star rating selector (1-10 stars) with Price Per Star pricing support ❓ Tooltip / Help Icon Feature ✍️ Help Text Configuration – New “Help Text” input field in General Settings ✅ Regex Pattern Validation – Pattern validation for Text, Textarea, Email, Phone, URL, Password, Number, Hidden fields 📏 Min/Max Length & Words Validation – Character length constraints and word count limits with custom error messages 🎨 Real-time Validation Feedback – Persistent error display until requirements met, Add-to-Cart button disabled until validation passes ⚡ Advanced Tooltip Styling – Arrow pointer, shadow, and full accessibility support 🔧 Bug Fixes – Tooltip overflow clipping, disabled fields display, product quantity conditions in additional rules 🌍 Country Selector Field Type – New dedicated field type for country selection with all ~250 WooCommerce countries in dropdown. Perfect for international shipping, region-specific pricing, and location-based product customization 💰 Per-Country Pricing – Set custom prices for each country. Customers see price additions next to each country option (e.g., “Australia (+€100.00)”). Supports fixed pricing per country with automatic total calculation 📋 Smart Country List – Displays all WooCommerce countries automatically. When users select a country, it appears in the Addon Options Test section with the correct price and updates the total instantly 🏗️ Builder Integration – Country dropdown selector in the admin builder for easy option management. No need to type country names – just select from the dropdown and set per-country prices ❓ Tooltip / Help Icon Feature – Add optional help text next to any field label. A small “?” icon appears when configured, and hovering displays the help text in a styled popup tooltip with arrow pointer ✍️ Help Text Configuration – New “Help Text” input field in the General Settings tab of every field type. Support for safe HTML formatting (bold, italic, links, line breaks) via wp_kses_post() 🎨 Polished Design – White popup with rounded corners, subtle border, drop shadow, and arrow pointer. Responsive design with mobile-optimized tooltip sizing ♿ Accessibility – Proper ARIA labels, role=”button” on icon, role=”tooltip” on popup. Full keyboard support via :focus state for accessibility and mobile tap support ⚡ Pure CSS Implementation – No JavaScript required. Hover, focus, and focus-visible states trigger tooltip display with smooth transitions 🔧 Bug Fix – Overflow Clipping – Fixed tooltip being clipped by parent containers. Added comprehensive overflow: visible rules to prevent clipping by form wrappers, section containers, and layout elements ✅ Advanced Validation System – Regex pattern validation, min/max character length, word count limits (textarea), custom error messages, and real-time validation for Text and Textarea fields ⚡ Cross-Field Pricing Rules – Set dynamic field prices based on selections in other fields with 5 operators (Add, Subtract, Multiply, Percentage Add, Replace) and real-time price updates ✅ Code Quality – PHPCS compliant, proper documentation, singleton addon pattern, hook-based integration 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 Try Our Live Demo: Frontend Demo – See how product options look to customers Backend Demo – Experience the modern admin interface Video Tutorial – Watch step-by-step setup guide Key Features to Explore: ✅ Nested conditional logic with AND/OR groups ✅ 27 field types in action (20 FREE + 7 Premium) ✅ Section settings and layouts (Accordion, Tabs, Wizard) ✅ Conditional display rules with AND/OR conditions ✅ Advanced custom pricing options (Fixed, Percentage, Per-Character, Per-Word, Formulas) ➡️ Try Demo Now ⬅️ Documentation & Tutorials Section Settings Documentation – Complete guide to customizing section settings in version 4.4.0 Section Settings Video Tutorial – Watch how to use section settings features 💡 Share Your Ideas & Feature Requests We value your feedback! Help us improve the plugin by sharing your ideas and requirements. What features would you like to see? New field types you need for your store Additional functionality or integrations UI/UX improvements Performance enhancements Any other suggestions How to share your feedback: Email:
[email protected] Contact us: Share your Idea Your suggestions help us prioritize features and build a better product roadmap. We review all feedback and consider it for future releases! 💁 Complete List of 27 Field Types 20 FREE Field Types: ✅ Text Field – Single-line text input with optional HTML5 validation (email, URL, phone). Supports character length validation and regex patterns (FREE) ✅ Textarea – Multi-line text area with word/character limits and regex validation ✅ Number Field – Numeric input with min/max values and step increments. Supports decimal and whole numbers ✅ Password Field – Masked password input for sensitive information ✅ Select Dropdown – Single-choice dropdown selector. Per-option pricing support ✅ Multi-Select – Multiple choice dropdown. Select/Deselect All button support (PRO). Per-option pricing ✅ Checkbox – Single checkbox with yes/no option. Per-option pricing support ✅ Checkbox Group – Multiple checkboxes for multi-select. Per-option pricing support ✅ Radio Group – Radio buttons for single selection. Per-option pricing support ✅ Date Picker – Calendar date selector with min/max dates, format options (PRO), and advance date-range pricing (PRO) ✅ Time Picker – Time selector with customizable format. Earliest/Latest time constraints (PRO) ✅ Color Picker – Color selection widget with HTML5 color input ✅ Switch – Toggle on/off switch with customizable icons and colors (PRO). Smooth animations (PRO) ✅ Slider – Range slider for numeric selection. Dual handle mode (PRO) for min/max range selection ✅ Hidden Field – Non-visible field for passing data through the system ✅ Heading – Display-only section heading for visual organization ✅ Paragraph – Display-only text area for informational content ✅ Separator – Horizontal divider line. Customizable color, style (solid/dashed/dotted/double), width, and margin ✅ Rating Field – Star rating selector (1-10 stars). Price Per Star pricing (FREE). Perfect for reviews, feedback, and ratings ✅ Country Selector – Auto-populated country dropdown with ~250 WooCommerce countries. Per-country pricing support. Ideal for international shipping 7 PREMIUM Field Types: 💎 File Upload – Multi-file upload with type and size restrictions. AJAX upload support 💎 Color Switcher – Color swatch buttons for visual color selection. Per-option pricing 💎 Text Switcher – Text/button buttons for option selection. Per-option pricing 💎 Image Switcher – Image thumbnail buttons for visual selection. Multi-image support (PRO). Per-option pricing 💎 Product Group – WooCommerce product selector. Min/Max selection limits. Per-product pricing (fixed, product price, or percentage) 💎 Repeater Field – Repeatable group of fields. Customers can clone/remove field groups. Min/max repeat limits. Per-instance pricing 💎 Section Layout – Accordion, Tabs, and Step Wizard layouts for organizing addon fields. Global and per-addon override settings 👉 Display Position for Extra Fields Before Add To Cart Button After Add To Cart Button Pro – Before Variation Data (for variable products) ➡️ View Demo ⬅️ 💁 Key Capabilities of Extra Product Options Add 27 types of extra custom product fields to WooCommerce Product Pages (20 FREE + 7 Premium) Add extra custom fields for the selected product and selected categories Manage Required or optional fields Add prices to options Allow multiple attributes to be selected in the same option Easy to Use Drag & Drop Use with or without prices Show/hide prices Manage labels, values, placeholders, and CSS classes for each field Duplicate the extra product custom field or groups of fields Edit, Remove, Enable, or disable the extra product fields easily Dynamic product price: Change the price depending on a field value(s) Visibility options: decide on which product(s) to show your fields Set prices for each option value Make options mandatory for selection Display selected values on checkout, order info pages, and in the order emails 👉 Display Position for Extra Fields Simple Product Variable products over ajax ➡️ View Demo ⬅️ 💎💎 💎 PREMIUM KEY FEATURES 💁 Types of extra options for WooCommerce Product Pro – File upload – allowing your customers to upload (multiple) files. Pro – True/false – A “yes/no” checkbox Pro – Image swatches – multi and single choice options with images. Pro – Color swatches – multi and single color options. Pro – Text swatches – text options. Pro – Paragraph – so you can add content and shortcodes to your product page. Pro – Image – to add images. Pro – HTML Upload Field – To collect files from users which can be images, Videos, Documents, and anything that is supported by WordPress. Pro – Slider with custom formulas on product detail page Pro – Switch with Switch Layout, Animation Style, Checked Icon, Checked Background Color, Unchecked Icon, Unchecked Background Color 💎 Custom Price Fields – Pro 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. Fixed: Set a fixed price for the extra field. This fixed amount will be added to the total product price upon selecting the addon. Pro – Percentage: Set a percentage price for extra field. This percentage amount will be added to the total product price upon selecting the addon. Pro – Custom: User will enter the price and It will be added to the product price. like getting donations, tips, and similar things. Pro – Percentage of Product Price: Set the addon price in percentage. It will calculate the product price and added to the product price. Pro – Dynamic: 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. 💎 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. All Products (with Select All/Clear All) Products Categories Tags Pro – User roles Pro – Other Fields values Pro – Date picker and time picker Pro – Product variations Pro – Product quantity ➡️ View Demo ⬅️ 💁 Example Uses of WooCommerce Extra Product Options Plugin Here are just a few of the ways this flexible plugin can be used: Sell events and tickets using this plugin to add options like seat, date, booking fees, etc Add extra delivery/shipping options and costs to orders Brand options Checkout fields Dropshipping options Delivery times and dates Dynamic pricing Custom product designing Hotel booking Bulk editing of product options Add gift wrap options to products (with costs) as shown in the demo Add image choices to printable products (with or without prices) Add text to cards (with the possibility of charging per character ) Add discounts to products (option prices can be negative) Chargeless for bulk/wholesale orders (bundle rates) Add extra charges/fees to orders Add extra charges/fees to products ➡️ View Demo ⬅️ 👉 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? – Click here ➡️ Premium Version ⬅️
Top keywords
- product43×2.17%
- field32×1.62%
- pro29×1.46%
- options28×1.41%
- price25×1.26%
- fields22×1.11%
- add21×1.06%
- extra21×1.06%
- pricing21×1.06%
- text18×0.91%
- custom15×0.76%
- support14×0.71%
HTML Forms & Contact Form for WordPress
Narrative Forms is the HTML form plugin for WordPress. Instead of dragging boxes around a builder, you write plain semantic HTML, or paste it straight from an AI like ChatGPT, Claude, or Gemini, and Narrative Forms turns it into a real form with fast AJAX form submissions and stored, exportable data. Any input with a name attribute is saved. That is the whole idea: forms are just HTML, so there is no field type registry, nothing proprietary to lock you in, and no ceiling on what your form can be. If you want a clean, fast, developer friendly HTML form plugin, a simple contact form, or a custom form that a heavy form builder cannot easily produce, this is it. It stays lightweight, loads its assets only on pages that contain a form, and is built to scale to millions of submissions. Everything it does is free, with no premium tier: the AI form builder, conditional logic, webhooks with delivery logs and retries, a REST API, require login, schedule windows, and hosted share links are all included at no cost. Why an HTML form plugin beats a drag and drop builder Most WordPress form plugins lock you into a drag and drop form builder and a fixed list of field types. If the builder does not offer a field, you cannot have it. Narrative Forms is an HTML form plugin with no field registry: a field is simply an HTML element with a name. Need a multi step layout, an unusual input, a custom widget, or markup your designer already wrote? Paste it in and it works. You keep full control of the markup, the classes, and the look, so your contact form or custom form renders exactly the way you built it. Drag and drop made sense years ago. Today you describe what you want or paste what you already have. No builder, no bloat, and no fighting a clunky UI to recreate a form you can already picture. That is why people who outgrow a drag and drop form builder move to a real HTML form plugin. Build forms with AI, built in or pasted from ChatGPT, Claude, or Gemini Because forms are just HTML, any large language model can build one for you, and Narrative Forms gives you two ways to use that. The built in AI form builder writes the form HTML for you right inside WordPress: open a form, click Generate with AI, describe what you want, and keep refining it by chatting. You bring your own API key for an OpenAI compatible provider such as DeepSeek, OpenAI, or OpenRouter, so you stay in control of the model and the cost. You can also paste from anywhere: ask ChatGPT, Claude, or Gemini for a form and drop the HTML in, because there is no proprietary field format to satisfy. Either way, the plugin stays model agnostic, ships with no AI key, and contacts no AI service until you add one; see the Privacy and External services sections for what is sent and when. Everything in the free HTML forms plugin The free HTML forms plugin is a complete forms solution, not a teaser. Here is what every install includes: Fast AJAX form submissions. Forms submit without a page reload, and there is a graceful fallback when JavaScript is turned off, so the form never breaks for a visitor. AJAX form submissions also keep your pages cache friendly, because the page can stay static while the form posts in the background. A built in HTML editor. One click field buttons generate the markup for common fields, and a live preview shows the form as you type. Write the HTML by hand, scaffold it quickly with the buttons, or paste a form an AI wrote for you. The editor never hides your markup behind a visual builder, so what you see is what ships. A built in AI form builder. Describe the form you want and let AI write the HTML for you inside WordPress, then keep refining it by chatting. You bring your own API key for an OpenAI compatible provider (DeepSeek, OpenAI, OpenRouter, or a custom endpoint), so you control the model and the cost. Your key is stored for administrators only and is never exposed to visitors. Conditional logic. Show or hide any field based on what the visitor enters, using simple match rules. A hidden required field is dropped from validation automatically, so a conditional logic rule never blocks a submission. Email notifications. Send a clean, readable email for every form submission, to yourself or any address, in plain text or HTML. Each field is formatted tidily, and you can route different forms to different inboxes with separate email actions. Webhook actions with delivery logs, retries, and templates. Send form data to any URL when the form is submitted, with no code, and add more than one webhook per form so one submission can fan out to several services. Every webhook call is recorded in a delivery log, failed calls retry automatically with backoff, and reusable webhook templates ship with one click Discord, Slack, and Microsoft Teams presets plus custom JSON payloads and request headers. REST API. Read and manage your form submissions programmatically through a REST API (namespace nrfm/v1), authenticated by a capability check or an API key you generate. Connect your forms to another app, a dashboard, or your own tooling. File upload form fields. Accept a file upload field with a maximum file size and a maximum number of files per field. Uploaded files are stored safely in the WordPress media folder and recorded with the submission, so building a file upload form is one paste of HTML away. Stored form submissions and CSV export. Optionally keep every submission in a fast, indexed database table that you browse in the admin. Run a CSV export of your form submissions at any time; the export streams in batches, so it works even with very large numbers of submissions and never times out. Save and resume. Let visitors save a long form as a draft and continue later from a private resume link. Drafts expire automatically and are cleared once the form is submitted. Submission notifications. An unread badge on the Forms menu and the submissions list flags new entries, so a fresh form submission never slips by. Require login. Restrict any form to logged in users only, with your own message and login link for signed out visitors. Schedule windows. Open and close a form automatically on the dates and times you set, with separate messages for before it opens and after it closes. Direct share links. Give any form its own hosted URL, so you can share a working form without adding it to a page or copying a shortcode. Layered spam protection. Stop bots with a honeypot, a time trap that rejects instant submissions, a same origin referrer check, a limit on the number of links in a message, and an optional rate limit per IP. You can also switch on Cloudflare Turnstile for a privacy respecting CAPTCHA. This spam protection adds no third party tracking to your site. Custom messages and redirects. Set your own success and error messages, redirect to any URL after a successful submit, and use template tags so the form behaves exactly how you want. Clean, optional styling. A calm, minimal stylesheet ships with the plugin and is on by default, and you can switch it off in one click if your theme or custom CSS should own the look. Semantic wrapper classes keep your theme in charge of how your HTML form appears. Every output is escaped and every input is sanitised, following WordPress coding and security standards, so the plugin stays review safe and secure. Send form data anywhere with webhooks and a REST API Narrative Forms is built to move your form submissions wherever they need to go. Add a webhook action with your endpoint URL and every submission is delivered to that webhook, so you can connect a form to Zapier, Make, a CRM, Discord, Slack, Microsoft Teams, or your own service without writing code. A webhook delivery log shows every call and its response, failed webhooks retry automatically with backoff, and webhook templates let you shape a custom JSON payload with one click presets for Discord, Slack, and Teams. When you would rather pull data than push it, the REST API exposes your form submissions under the nrfm/v1 namespace, protected by a capability check or an API key. Add conditional logic to show or hide fields, require login to restrict a form, and schedule windows to open and close it automatically, and your form data never gets stuck in the admin. Contact forms, custom forms, and every form in between Narrative Forms is a general purpose form plugin, so the same HTML first workflow covers almost any form: a simple contact form, a lead capture or support request form, a job application, an RSVP, a survey, a registration form, a file upload form, or a custom form with a layout a drag and drop builder cannot easily produce. Because a field is just an HTML element with a name attribute, you paste the HTML, give the fields names, and the form is live with AJAX form submissions, stored data, conditional logic, and CSV export. There is no template to fight and no field type you cannot add, which is the difference between an HTML form plugin and a drag and drop form builder, and the same lightweight form plugin scales from a handful of submissions a month to millions over time. Developer friendly HTML form plugin Narrative Forms is built for people who like control. Prefill fields with template variables such as {{ user.email }}, {{ get.utm_source | default:’direct’ }}, or {{ site.name }}, using providers like user, URL parameters, post, site, and date, each with filters such as default, upper, lower, date, and truncate. On the front end, public JavaScript events (nrfm-submit, nrfm-submitted, nrfm-success, nrfm-error) let you push conversions to Google Tag Manager or your dataLayer, show a toast, or run any custom logic with a tiny nrfm.on() helper. Filters and actions sit at every decision point, including the form HTML, validation, and webhook request arguments, and a REST API is available for reading and managing form submissions, so you can extend this HTML form plugin without forking it. Built to scale to millions of form submissions Narrative Forms is engineered for sites that collect a lot of data. Form submissions live in a dedicated, indexed database table rather than bloated post meta, so lookups stay fast as the table grows. Repeated reads are cached, queries are paginated and bounded, CSV export streams in batches, and heavy work can run in the background so the front end stays quick. Whether you collect ten form submissions a month or millions over time, this lightweight form plugin is designed to stay responsive. Scaling to millions describes the architecture, indexed storage, caching, and bounded queries, rather than a benchmarked guarantee. Who this HTML forms plugin is for Developers and agencies who want a contact form or custom HTML form they fully control, without a heavy builder. Anyone who uses an AI assistant: generate the HTML with the built in AI form builder or paste it from ChatGPT, and you are done. Site owners who need reliable form submissions, email notifications, webhooks, file upload forms, and CSV export without the bloat. Teams that want conditional logic, require login, scheduled forms, and a REST API without paying for a premium tier. Teams that have outgrown a drag and drop form builder and want a faster, lighter way to build forms. Common uses include contact forms, lead capture, support requests, job applications, RSVPs, surveys, file uploads, registrations, and multi field custom forms with conditional logic that a drag and drop builder cannot easily produce. Publish form submissions with Frontend Submissions (Views) Most form plugins keep submissions locked in the admin. The Narrative Forms Frontend Submissions add on turns your form submissions into front end content with reusable Views: display any form’s submissions as a public directory, a testimonial wall, a photo gallery, a job board, an event timeline, or product reviews, with instant search, pagination, single pages, per field privacy, and approval moderation. Frontend submission display is the one paid add on and it requires the free Narrative Forms plugin. Collect with the form, publish with a View. Learn more at https://narrative-forms.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=free Privacy Narrative Forms uses the Appsero SDK to collect some telemetry data, but only after you confirm it. This helps us troubleshoot problems faster and make product improvements. The Appsero SDK does not gather any data by default. It only starts collecting basic telemetry when you allow it through the admin notice. We collect the data to ensure a great experience for all of our users. Integrating the Appsero SDK DOES NOT IMMEDIATELY start gathering data, and never without your confirmation. Learn more about how Appsero collects and uses this data. External services This plugin connects to external services only in these optional cases. Each is off until you enable or allow it. Cloudflare Turnstile (optional CAPTCHA). Only if you enable Turnstile. The browser loads https://challenges.cloudflare.com/turnstile/v0/api.js to render the widget, and on submit the server posts the token, your secret key, and the visitor IP to https://challenges.cloudflare.com/turnstile/v0/siteverify. Terms: https://www.cloudflare.com/website-terms/ Privacy: https://www.cloudflare.com/privacypolicy/ Webhooks (optional, configured by you). Only if you add a Webhook action. After a successful submission, the form fields plus limited metadata (timestamp, IP address, user agent, referrer) are sent to the exact URL you configure. The destination is your choice, so consult that service’s terms and privacy policy. Appsero (optional usage analytics). Off until you allow it in the admin notice. It then sends basic environment details (site URL, WordPress and PHP versions, active theme and plugins, locale, admin email) to https://api.appsero.com. No form submissions or visitor data are sent. Privacy: https://appsero.com/privacy-policy/ AI form builder (optional, configured by you). Off until you add an API key. It contacts your chosen provider only when you click Generate, sending your instruction text and the current form markup to that provider’s chat completions endpoint. No form submissions or visitor data are ever sent, and your key is stored for admins only. Supported endpoints: DeepSeek https://api.deepseek.com (Privacy: https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html), OpenAI https://api.openai.com (Privacy: https://openai.com/policies/privacy-policy/), OpenRouter https://openrouter.ai (Privacy: https://openrouter.ai/privacy), or any OpenAI compatible endpoint you configure.