The most advanced WordPress forms plugin. Go beyond contact forms with our drag and drop form builder for surveys, quizzes, and more.
The Most Powerful WordPress form builder plugin on the market
We built Formidable Forms to offer the «first-ever» solutions-focused WordPress form plugin. You can use our drag and drop WordPress forms plugin to create a contact form, survey, quiz, registration form, payment form, lead form, or calculator form. Build just about anything you can imagine.
At Formidable, creating the most extendable online forms is our #1 priority. Unlike other WP form maker plugins, we believe in pushing the limits. We want to give you the tools to save time and create complex custom forms quickly!
Before we explore the powerful features, you should know that Formidable is 100% mobile responsive. Your WordPress forms will always look great on all devices (desktop, laptop, tablets, and smartphones).
Speaking of quick, we’ve optimized for speed and maximum server performance. We can confidently say that this is one of the FASTEST WordPress form builders on the market.
This form builder plugin is the free version of Formidable Pro that comes with all the features you will ever need. Build an advanced email subscription form, multi-page form, file upload form, quiz, or a smart form with conditional logic. Stack on repeater fields, payment integrations, form templates, relationships, and cascading dropdown fields. Don’t forget the calculated fields, front-end form editing, and powerful web application builder.
With Formidable Pro, you get far more than just a contact form plugin. Click here to purchase the most advanced premium WordPress forms plugin now!
Or start by checking out the full feature comparison for Lite vs Pro.
You can start with our pre-built templates or create totally custom forms from scratch. All with an easy-to-use drag and drop form maker interface.
Let’s take a look at all the powerful features for making an amazing lead form, survey or poll, subscription form, request a quote form, payment form, user registration form, or anything else. With Formidable, there’s no limit to what you can achieve! The possibilities are endless.
Formidable adapts to YOUR needs.
Want to run quizzes on your site? Formidable is your quiz maker with all the features you need to create and run both educational quizzes and the beloved (and addictive) BuzzFeed style quizzes.
Our team has worked hard to create the Swiss Army Knife for WordPress. Plus, we’ve made integrations that fit into your tech stack.
Check out some of our main features below:
Drag & Drop Form Maker
Our form maker comes with all the powerful fields that you need to create a solution-focused form, fast!
Formidable drag and drop forms allow you to quickly build unlimited surveys, quizzes, price calculators, and whatever else you need.
Complete Entry Management for Web Forms and Surveys
When a user submits a web form, it’s stored in your WordPress database so you won’t lose any leads. Formidable allows you to view all your quiz and survey entries right from your WordPress dashboard (even in the free version!).
Even though the entries are saved, it’s still a GDPR-friendly form generator. You can turn off IP tracking or stop saving submissions entirely. Or add a GDPR checkbox field to your lead forms and payment forms to collect consent.
Need to import your leads to an external service like Mailchimp? No problem. Export leads to a CSV, open it in Excel, or import it anywhere.
You can also configure unlimited email notifications and autoresponders triggered by submissions.
On top of that, you can easily customize the success message after a form is submitted, or redirect visitors to another page.
The Only Form Maker Plugin with an Advanced Styler
With our built-in styler, you can instantly customize the look and feel of your website form. With just a few clicks, your email form can be transformed to match your website design.
By default, a single styling template is created. If you want a custom form style for each footer and sidebar form, check out the premium version of Formidable.
Build Smart Surveys with Beautiful Reports
Formidable Pro includes an intuitive survey feature (like Survey Monkey, but without the high costs), so you can quickly create powerful surveys with Net Promoter Scores (NPS), Likert fields, star ratings, image radio buttons, and more.
We believe that data alone does no good if you can’t analyze it. That’s why we make it easy to analyze data from a survey, quiz, or calculator. Beautiful reports will be waiting for you, or create your own customized graphs. Our graphs and reports will help you analyze and showcase data.
You can even showcase data on the front-end of your website. Just embed graphs in your WordPress posts or pages.
The best part is that you can do this all without any third-party tools.
Quickly Create an Advanced WordPress Registration Form for Any Use Case
Whether you need to create a youth sports team, event, or church retreat registration, Formidable has you covered. Unlike other contact form plugins, Formidable comes with a repeater field that allows you to create the best registration forms.
Then, our marketing integrations and APIs can send the data anywhere you want.
Accept Credit Cards and Easily Collect Payments
By now, you probably already realize the theme that Formidable is more than just a WordPress contact form plugin. You can use it to create a payment form and accept credit card payments right from your website.
We offer seamless integration with PayPal, Stripe, and Authorize.net, so you can create an order form, donation form, or purchase form.
You can even create a WooCommerce form with custom fields.
Make Data-Driven Web Applications with a Formidable View
Formidable Views are by far the most powerful feature that makes Formidable far more than just a contact form plugin. Views allow you to flexibly display any submitted data on the front-end of your website.
Our customers use Formidable Views to create data-driven web apps. We see real estate listings, employment listings, event calendars, business or member directories, job boards, and other searchable databases.
As you can see, Formidable is not your average contact form plugin. It’s a true all-in-one WordPress form solution.
Increase Sales with WooCommerce Product Order Forms
Formidable is the only WordPress form builder plugin that offers extensive integration with WooCommerce orders.
Our goal is to empower you to build powerful WooCommerce product order forms, so you can increase your store sales.
You can create a WooCommerce form to use as a WooCommerce product configurator with custom calculation fields. Then automatically send the order form info to the WooCommerce cart with variable pricing options.
Make Powerful Quiz Forms & Calculators
In addition to a simple order form, you can also create quizzes or web calculators.
More on quizzes later, but here are some example online calculators that you can quickly add to your WordPress site:
- Advanced Mortgage Calculator
- Basic Mortgage Calculator
- Car Payment Calculator
- Net Promoter Score (NPS) Survey
- BMI Calculator and more Health and Fitness Calculators
- User Age Calculator
- Online Quote Calculator
- Finance Calculator
- Booking Cost Calculator
- Product Price Calculator
… and our powerful calculated fields allow you to build just about anything.
You can also create a poll, or survey on your WordPress site and display the results. This is great for membership sites, LMS, or just for viral quizzes to grow your email list.
Now you can create custom form-based solutions without any code.
Create a WordPress User Registration Form, Profile Form, and More
If you run a WordPress membership site, then you need a form maker that allows you to customize your WordPress user registration form and collect data with a user profile.
With our front-end editing, you can build a custom profile form for users to keep their profile up to date. You can even progressively add to the profile from a set of forms. Everything from the first lead form to the last payment form can extend the user profile. Once logged in, all new submissions in a quiz, or support form can be linked to that user account.
You will not find any other WordPress form plugin offering a front-end editing solution with the same level of extendability.
All the Advanced Fields & Features You Need to Grow Your Business
Formidable goes far above and beyond with features like multi-page forms, save and continue, cascading form fields, and powerful conditional logic. Then add partial submissions, invisible spam protection, front-end user post submission, calculated fields, user flow, quizzes, and so much more. Additionally, our Payment fields will help you create a donation form, booking form, credit card form, or other payment form.
We’re on a mission to offer all-in-one solution-focused forms. This way you don’t have to install 5 plugins alongside your form maker to do everything you want.
Extend & Customize – A Developer’s Dream Come True
Formidable is the solution of choice for smart developers, freelancers, and agencies. It helps you build complex solutions and simple forms quickly to defy the limits imposed by time and knowledge.
Our goal is to help you build complex websites with low overhead. That’s why we made Formidable the most extendable WordPress form plugin on the market. We want to make it possible for anyone to defy gravity and build anything.
A Formidable View allows you to display data anywhere, so you can quickly create data-driven web apps.
On top of that, our hooks and filters allow you to extend Formidable to meet your most advanced needs. We even include hundreds of code examples in our docs to give you the confidence to get started.
Full Feature List
Since Formidable is not your average form plugin, this feature list is going to be very long. Read through it, or just install our powerful form maker and try it for yourself! Your choice 🙂
- Online drag and drop form and quiz maker. Build everything from an email form to a complex online form. Make an awesome quiz form and online form the easy way with simple WordPress drag and drop form maker. You don’t have to be a code ninja to get fields in a row.
- Display data with Views. Other WordPress form plugins only let you collect data. Formidable lets you format, filter, and display submissions in Formidable Views to create solutions. Think job boards, event calendars, business directories, ratings systems, management solutions, and pretty much anything else you can come up with.
- Repeating field groups (repeaters). This is great for a registration form or email form.
- Drag and drop multiple file upload forms. Easily upload documents, files, photos, and music, with any number of files. This is great for a job application form (resumes), WordPress User Profile Form (avatars), or get a quote form.
- Multi-step forms with progress bars. Want to increase conversion rates and collect more leads? Create a beautiful paged form with a rootline and progress indicator. Add conditional pages for a smart branching form.
- Create a PDF from entries and send them along in an email.
- Cascading lookup fields. Autofill values in other fields or drill down through options to reveal a final value. Designed for year/make/model chained fields in auto forms and country/state/city fields. Lookup fields can even get a price from another product form.
- Datepicker fields with advanced datepicker options including blackout dates, dynamic minimum and maximum dates, and inline calendars. Datepickers are great for email forms, basic online booking, and event registration.
- Dynamic field relationships. Populate fields and link data between multiple fields. This helpful in to link employment applications to a job, quizzes to a class, an event registration to an event, or a sports registration to a team.
- Add password fields with a password strength meter in a WordPress user registration form, profile form, or change password form.
- Collect reviews with star ratings for feedback, recipe ratings, product review, event rating, and customer testimonial forms. Then share your ratings with Formidable Views.
- Confirmation fields. Double check email addresses or passwords and prevent typos from causing lost leads.
- Conditional logic for smart forms. Show or hide fields based on user selections or user roles, simplify, and increase conversion rates.
- Send email notifications & autoresponders. Let clients know you received their message. Then create customized email notifications for multiple recipients and get info from an email form to those who need it.
- Email routing. Conditionally send multiple autoresponder emails and notifications based on values in an email form, user registration form, and payment form.
- Pricing fields for easy eCommerce forms with automatic product price calculations. Drop in a product field, quantity, and total and you’re good to go.
- Calculator forms. Create complex calculations and combine text from multiple fields. This is great for a mortgage calculator, auto loan calculator, and more. Price calculations give site visitors easy quotes and price estimates. We recommend range sliders too, for calculator forms your clients will love.
- Visual style creator. Our form creator allows you to custom brand calculator forms, email forms, lead forms, quiz forms, and other WP forms to match your site. Change colors, borders, font sizes, and more without any code.
- Flexible layout design. Build mobile responsive forms and advanced layouts with multiple fields in a row with our CSS layout classes.
- Mobile-friendly, responsive forms. All of our WP forms are sized for any screen size. Ensure that everyone can use your intake form, consent form, and Stripe form on any device.
- User submitted front-end posts and pages. Create and edit WordPress posts, pages, and custom post types from front-end online forms. Send user-generated content quickly from a post creation form to a page.
- Simple entry management. Flexibly display, edit, and delete entries. Let logged-in users can manage their personal journal entries, weight tracking, guest blog posts, RSVP status, and more.
- WordPress front-end editing. Allow users to edit their entries and posts from the front-end of your site. Create an online journaling platform, member directory, classified ads, community recipes, and more.
- Sync custom field values with Advanced Custom Fields (ACF). Now you can create ACF front-end forms to make managing your application faster.
- Logged-in users can save and continue partial submissions. Whether it’s a basic email form or a long multi-paged registration form, users can save progress and pick up where they left off.
- Graphs and charts for data visualization. Display statistics from a survey, poll, and questionnaire. Or graph data in a variety of ways. Whatever you choose, it will update as new data is submitted (great for weight tracking over time).
- Permissions. Lock visibility and access based on user role.
- Entry limits. Limit surveys, registration forms, bookings, quizzes, or directory submissions to only allow one entry per user, IP, or cookie.
- Form scheduling. Open and close event registration and signup forms on a specific date. Or close forms when the seat limit has been reached.
- Conditionally redirect after a custom search form, feedback form, support ticket form, registration form, quiz, or intake form is submitted. Help clients find the answers they need and show a tailored result based on their selections or calculated fields.
- We give you access to customize the HTML (like Contact Form 7). But you keep the ease and speed of drag and drop forms. Our team labors for simplicity without sacrificing flexibility.
- Import and export submissions, styles, and views. Quickly move your work and entries to another site. Need to export leads to another service? Done.
- Form templates for instant form building. Get started quickly with the most advanced form creator that includes form templates and style templates. Our WordPress form generator makes it FAST to build job application forms and other types of online forms.
- Import our pre-built form templates as a shortcut to a final product. Our growing form template library includes payment forms (for Stripe and PayPal forms), a WooCommerce product creator, and more.
- Conversational forms. Show one question at a time, and automatically advance when questions are answered.
- Landing pages. Get rid of all the distractions and show visitors only what they need.
- WCAG accessible forms with A11Y and ADA compliance. Ensure your survey, lead capture form, consent form, donation form, and quizzes are compliant and available to everyone. Allow those using screenreaders to successfully use your WordPress site.
- Invisible SPAM protection. Don’t waste time sorting through SPAM. Get instant and powerful anti-spam features from honeypot, invisible Google reCAPTCHA, Akismet, and the WordPress comment blacklist.
- Fill fields automatically with values from the user profile or posts (i.e. custom fields). When a user is logged in, fill known values like name and email address.
- White label. Replace our branding with your own in the admin area. Plus, we never show «powered by» links in your free online form.
- WordPress user registration forms. Register WordPress users, edit profiles, reset passwords, and add a login form. You can even allow users to create new subdomains with WordPress multisite forms.
- Digital signature forms. Eliminate paper forms with a digital signature field for a contract, application form and more.
- Form action automation. Schedule email notifications, SMS messages, and webhooks to trigger later. You can automatically delete guest posts after 30 days, send weekly digests, or trigger happy birthday text messages from a lead form.
- Forms API. Send submissions to other REST APIs and add a set of webhooks. This includes the option to send submissions from one site to another.
- Quiz maker forms. Write your quiz form questions, submit an entry as the quiz key, and publish the quiz on a page. Then all the quiz grading is automatically done for you with our quiz plugin.
- World class support. Have questions on how to use our form maker? We are happy to help. Our passion is to help you defy the limits to take on bigger projects, earn more clients, and grow your business.
Payment Forms, APIs, and Marketing Integrations
In addition to all the features listed above, add power ups with these integrations.
- PayPal Forms. Automate your business by collecting instant payments and recurring payments from clients. Collect information and calculate a total in a PayPal form or donation form.
- Stripe Forms. Keep users on your site while collecting Stripe payments from a credit card form. Select from one time and recurring charges in donation and order forms. Stripe processes payments with simple PCI compliance.
- Authorize.net AIM. Process one-time payments in order forms and price calculators with Authorize.net AIM. For recurring payments or easier security compliance, we recommend Stripe.
- WooCommerce product configurator. Add custom fields to a WooCommerce product order form and collect extra data when a product is added to the cart. Use calculations in your WooCommerce form for variable pricing and upload files with orders.
- Mailchimp Contact Forms. Add and update leads in a Mailchimp email marketing list from a lead form, online order, or email form.
- Constant Contact. Create leads automatically with a newsletter signup form.
- AWeber Forms. Subscribe users to an AWeber mailing list when a signup form is submitted.
- MailPoet Newsletters. Fill your email marketing lists from newsletter signup forms. Then send WordPress newsletters from your own site using MailPoet.
- Salesforce Forms. Create leads and any other Salesforce objects automatically.
- ActiveCampaign. Pull double duty with the ActiveCampaign integration. Save leads from a donation form, post creation form, user registration form, or email form.
- HubSpot Forms. Route lead data to HubSpot CRM.
- GetResponse Forms. Collect leads and add them to GetResponse and trigger marketing automations.
- Highrise. Add leads to your Highrise CRM account.
- Twilio for SMS Forms. Collect feedback, votes and poll responses via SMS text or send SMS notifications when entries are submitted. Get notified instantly when a payment or order form is completed, or let your leads know you received their message.
- WPML Multilingual Forms. Translate your WP forms into multiple languages using our integrated multilingual forms.
- Polylang. Get the form creator with Polylang bilingual or multilingual contact forms.
- Google Sheets. Open up a world of options and save money with a direct integration.
- Zapier. Connect with thousands of services through Zapier from a lead form, quote form, and other web forms. Insert a new row in a Google docs spreadsheet, post on Twitter, or upload a Dropbox file from a feedback form.
- Bootstrap Form Styles. Instantly add Bootstrap form styling to a survey form and payment form.
- Bootstrap Modal Form. Open login forms, Views, shortcodes, and other content in a Bootstrap modal popup.
After reading this feature list, you can probably imagine why Formidable is the most advanced WordPress form plugin on the market.
Give Formidable a try.
Want to unlock the full power? Upgrade to Pro to get all the features for smart forms and full web apps.
This online form and quiz builder plugin is created by Steve and Steph Wells and the amazing Strategy11 Team.
This plugin provides 1 block.
- Formidable Forms - Contact Form, Survey, Quiz, Calculator & Custom Form Builder
- Go to the Plugins -> ‹Add New› page in your WP admin area
- Search for ‹Formidable›
- Click the ‹Install Now› button, then ‹Activate›
- Go to the newly added ‹Formidable› menu
- Click the ‹Add New› button to go to the form generator page and create a new email form
- Insert your newly created user registration form, lead form, quiz form, or survey form on a page or post using the Embed Form pop up. Or insert it manually or into a widget using a shortcode [formidable id=x]. Alternatively use
<?php echo FrmFormsController::show_form(2); ?>to add it in a theme file.
How do I get started with the best forms for WordPress?
The fastest way to build a form is to use the example we built for you. After you activate Formidable, insert [formidable id=contact-form] on the WordPress page of your choice.
Go to the Formidable page and click «add new». Choose the Contact Us form template or another free template and click «Create».
Next, edit or create a WordPress contact page. Click the «Formidable» button to open the shortcode generator. Choose your new Stripe form, quiz, or web form and insert it into the WordPress page. Save the page for a beautiful WP contact form, ready to collect and store your leads. The contact form template will get you up and running fast.
Why isn’t WordPress sending emails?
When you do not receive emails, try the following steps:
- Double check the email address in your Email action on the settings page. The [admin_email] shortcode uses the email address from your WordPress Settings -> General page.
- Are you receiving other emails from your site (ie comment notifications, forgot password…)? If not, notifications will not work either.
- Check your SPAM box.
- Try a different address in your settings.
- Install WP Mail SMPT or another similar emailing alternative and configure the SMTP settings.
- If these steps don’t fix the problem and other WP signup emails are not going out, please reach out to your web host.
Read more about WordPress emails not sending in our blog.
What types of WordPress forms can I build?
Combined with our add-ons, Formidable is the most powerful form maker on the market. Here are some types of web forms you can create:
- Custom Contact Form
- Multi-Page Form with progress bar
- Dynamic Form (where fields change based on user’s answers)
- Request a Quote Form
- Job Application Form
- Feedback Surveys
- Make a Suggestion
- Change Requests
- Online Booking
- Event Booking
- Online RSVP Form
- Custom WordPress User Registration Form (Great for membership sites)
- WordPress Login Form
- Custom WordPress User Profile
- WordPress Post Submission (Great for guest posts)
- WooCommerce Form for Products
- Credit Card Form
- Make a Donation Form
- T-Shirt Order Form
- Product Purchase Form
- Lead Capture
- Auto Form with Car Make and Model
- Video Release
- Partnership Agreements
- PTO Request
- Online Petitions
- Signature Form
- Maintenance Request
- Scholarship Application Form
- File Download Form
- Employment Verification
- Make a Referral
- Membership, Customer, Vendor, Conference, and Volunteer Registration
- Camp, Course, School Class, and other Event Registration
- Custom Survey
- Mortgage Calculator
- Car Payment Calculator
- BMI Calculator
- User Age Calculator
- Online Quote Calculator
- Compound Interest Calculator
- Amortization Calculator
- Calorie Intake Calculator
- Pregnancy Due Date Calculator
- Recipe Reviews
- Personality Quiz
- Viral Quiz
- Cosmos Style Quiz
- Create Your Own Adventure Quiz
To see more, visit our Form Template Gallery which has over 175 pre-made templates.
How can I get access to all advanced features?
To get access to more features, integrations, and support, upgrade to Formidable Pro. A Pro license gives you access to the full version of Formidable for more advanced options, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
Can I create a payment form?
Yes! You can create payment and donation forms. We make it easy to accept payments using Stripe, PayPal, and Authorize.net.
Our Stripe integration helps you quickly accept credit card payments online. Our PayPal forms allow you to accept PayPal payments, subscriptions, and donations online.
Which field types does Formidable offer?
Our online form maker comes with all the powerful fields that you need to create a solution-focused form, fast!
- Single line text – Great for name, phone number, address, and more.
- Paragraph text
- Checkboxes and radio buttons
- Dropdown select boxes
- Phone number
- Hidden fields
- User ID
- HTML block – Great for custom HTML
- Google reCAPTCHA (invisible V2 or checkbox V2) or hCaptcha
Here is a list of our advanced premium fields that will come in handy:
- File Upload
- Rich Text
- Star Rating – Great for surveys and polls.
- Range Slider
- Dynamic – Great for creating relationships between entries.
- Repeater – Great for registering multiple kids, job history, and much more.
- Summary – Great to review responses before submit.
- Lookup – Great for cascading lookups like country, city, state.
- Section Heading
- Page Break
- Embed Form – Great for reusing the same set of fields in multiple places.
- Password Field – Great for user registration forms.
- Address Field – Power it up with Google address autofill and geolocation.
- Signature – Great for contracts and booking.
Additionally, our Payment fields will help you create an order form, donation form, or booking form.
- Single Item
- Multiple Items
- Checkbox Items
- Dropdown Items
- Product Quantity
- Credit Card (Stripe or Authorize.net)
Can I import and export submissions?
Yes, it’s easy to import and export. This is incredibly useful for developers and agencies who are building websites for clients. You can also create custom form templates to use on client websites.
You can also import from other WordPress contact form plugins such as Gravity Forms and Pirate Forms. Although we don’t have an importer available, this is also a great Caldera Forms alternative since it’s no longer supported.
Can I integrate with my CRM or email marketing service?
Yes! We know that marketing is the key to growing your business. That’s why Formidable allows you to connect your WP form (email form, payment form, etc.) with the marketing platform of your choice. You can easily send data from WordPress to your favorite CRM, email newsletter, and other marketing platforms.
Here is a list of our popular marketing integrations:
- Constant Contact
- Active Campaign
- Salesforce CRM
- HubSpot CRM
- Campaign Monitor
Using our Zapier integration, you can easily connect your website with over 5,000+ marketing apps including:
- Zoho CRM
- Zoho Mail
- Zoho Invoice
- Agile CRM
- Infusionsoft by Keap
- Microsoft Excel
- PipeDrive CRM
- Click Funnels
- Microsoft Dynamics 365 CRM
- Capsule CRM
- Insightly CRM
- Acuity Scheduling
- Quickbooks Online
See all Formidable Zapier Integrations.
Contributors & Developers
“Formidable Forms – Contact Form, Survey, Quiz, Calculator & Custom Form Builder” is open source software. The following people have contributed to this plugin.Contributors
“Formidable Forms – Contact Form, Survey, Quiz, Calculator & Custom Form Builder” has been translated into 13 locales. Thank you to the translators for their contributions.
Interested in development?
- Security: Additional validation has been added when deleting entries on admin pages.
- Fix: reCAPTCHA fields were including an additional = character in the HTML. This may have caused conflicts with other libraries.
- Fix: Embed icons would not always prompt the embed modal when clicked in specific areas of the icon.
- Fix: The document body would become scrollable unintentionally after some modals were closed.
- Repeater forms have been added back to the list of export options when exporting in CSV format.
- Fix: Submit button style rules were not applying when using the Twenty Twenty One theme.
- Fix: The style would not always assign properly to a form after import when importing both a new form and the style.
- Fix: It is no longer possible to select both radio buttons in the styler sample form.
- Repeater forms are now hidden from the list of forms to export as XML.
- Security: Added validation to URLs when installing templates and add ons to make sure that the endpoint cannot be manipulated and used for unsafe requests.
- Security: Added a nonce and permission check when running migrations and when loading data for applications.
- Fix: The spinner was not visible at the top of the page when running migrations.
- Updated the icon used for global Stripe settings.
- New: Added support for hCaptcha. Now in Global Settings, the reCAPTCHA tab has been changed to a CAPTCHA tab with a new CAPTCHA type setting so you can choose between using reCAPTCHA or hCaptcha.
- Fix: Avoid a fatal error if the hidden columns setting is in an unexpected format on the form and entry list pages. This may happen because of invalid option data being set or a conflict with another plugin or custom code.
- Fix: Long field names on the reports tab would force the table to horizontally scroll. A long field name will now break into multiple lines instead.
- Fix: The frm_form_object filter wouldn’t get applied to a cached form result.
- Fix: Prevent an undefined function get_editable_roles fatal error that triggers when trying to connect an account.
- Fix: An incorrect section comparison was causing fields to keep old section data after being moved somewhere else. This would result in unexpected data exports and other side effects.
- Fix: A «row is undefined» error would prevent merging multiple field groups together after the layout option was clicked.
- Updated message styling on admin pages.
- New: HTML emails using wpautop will now also convert line breaks into
- New: Improved support for importing large XML files. Previously a file over 200MB would trigger a «parser error : internal error: Huge input lookup» error.
- Fix: When an HTML email includes a body tag, only the content of the body tag will use wpautop.
- Fix: A duplicated field group would merge into one larger field group instead of creating a second identical field group as expected.
- Fix: The «Add Fields Here» placeholder wouldn’t hide after duplicating a section until after refreshing the page.
- Fix: The Screen Options tab was not hidden after duplicating an entry, causing it to overlap the update button.
- Fix: An imported view shortcode was not properly updating to its new ID value if the post containing it did not also include a [formidable] shortcode.
- Fix: Tooltips that overlap the element that triggered the tooltip would cause the tooltip to flicker on and off.
- Fix: The ellipses icon that triggers shortcode pop ups was offset incorrectly in of text fields inside of form actions.
- Fix: The update button was missing on the alternative style editor submenu link available from the WordPress themes menu.
- Fix: Honeypot fields should no longer gain focus when tabbing through fields in Chrome.
- Fix: Fields wouldn’t follow the cursor as expected after scrolling the page while dragging.
- Fix: Recent styling updates were applying to radio buttons in the form builder by mistake, causing them to look incorrect.
- Front end polyfills for IE8 have been removed, reducing the size of the loaded script file.
- Added additional form builder restrictions so a hidden field and page break don’t become part of a field group.
- New: When dragging a field or field group, a smaller drag helper will be used that is more consistent with the field type options in the sidebar, and the field that is being dragged will gray out.
- New: Improved error handling when installing templates from XML. A message will be shown when the simple XML extension is not installed, and errors will now be shown in a pop up when a template falls to install.
- New: Added a new frm_before_simple_form_render action that triggers before a Gutenberg block is rendered.
- New: Added a new frm_rich_text_emails filter for cases when a plain textarea may be preferred over rich text.
- New: Fields with floating labels now take up less space in the front end.
- Fix: When inserting a [default-plain] or [default-html] shortcode into a rich text editor, the shortcode would insert instead of changing dynamically as expected.
- Fix: Rich text HTML emails were not automatically using wpautop so line breaks were not appearing in emails as expected.
- Fix: Improved how drag and drop works when dragging multiple sections in a field group.
- Fix: Prevent a warning that would trigger when previewing in-theme when using Twenty Twenty One.
- Fix: Prevent a fatal error that would only ever happen once, immediately when upgrading to version 5.5 or higher from an older version.
- Fix: Prevent a fatal error that was preventing add ons from installing via API.
- Fix: Updated radio button styling on the Edit Entry page to fix visual issues at mobile screen sizes.
- Embed examples no longer include title=true and description=true.
- License types will no longer appear as template categories.
- Plain text email actions will no longer use a rich text editor.
- New: Email actions now use a rich text editor.
- New: Added new frm_before_title, frm_before_submit_btn, and frm_after_submit_btn actions.
- New: Image URLs used in options for radio and checkbox fields will now be included in XML exports, and used on import when the option to import files is on.
- Fix: Prevent a bug that would sometimes cause a form to repeat 10 times when previewing in-theme.
- Fix: Shortcode popup will now appear below textareas to avoid visibility issues with overlapping over content.
- Fix: Prevent a fatal error in PHP8 where a field’s field options data is in an unsupported format.
- Fix: An entry with a name longer than 255 characters long would throw an error and never submit. It will now be truncated to a maximum of 255 characters instead.
- Removed icon fonts from front end CSS when only Lite is loaded to significantly reduce CSS size where it is not required.
- Updated styles for back end modals.
- New: Email actions and success messages now support [form_name] shortcodes.
- Fix: Prevent a fatal error when running a weekly cron job because of an expected WordPress function was unavailable.
- Fix: Prevent a warning when viewing an entry that was created from a post with missing information about browser and referer.
- Fix: Arrows in dropdown fields were appearing at the top of the select field instead of being centered in Astra.
- Fix: Fixed a couple admin side RTL styling issues.
- Fix: Selecting multiple fields with the shift key was not properly selecting the fields in-between when the first selected item was not a group.
- Autocomplete attributes in custom HTML will now be ignored if the field also has an autocomplete attribute set to avoid multiple attributes with the same key.
- New: Added support for several new language options for datepicker localization and for reCAPTCHA.
- New: Updated deprecated code in Elementor widget for better compatibility with new versions of Elementor.
- Fix: Actions that trigger when an entry is deleted were not properly working when conditional logic would check item meta values.
- Fix: An imported app page’s parent page ID was not updating to match the new imported parent page ID.
- Fix: Clicking save while a field was still being inserted would cause an error pop up to appear with a missing message.
- Removed a restriction that was preventing a second summary field from being added after adding the first.
- New: Option icons are now be added dynamically when a field is selected to reduce the HTML required on load. This significantly improves performance for fields with many options.
- New: Added a new frm_before_duplicate_entry_values filter for customizing the data of a duplicated entry before it is saved.
- New: Maximum character length is now validated server side on submit.
- Fix: The duplicate option pop up was triggering incorrectly when dragging new options in Chrome.
- Fix: Prevent a «Trying to get property ‹post_status› of non-object» PHP Notice that happens in some cases when updating actions.
- Fix: Imported view detail page URLs were returning 404 errors. New imported views will now update permalinks to avoid this issue.
- Fix: The disallowed list check was not being applied when no data was submitted.
- Fix: Placeholder add on pages were showing messages to upgrade for supported licenses.
- Fix: Apps were not properly loading in WordPress 5.6.
- New: A pop up will trigger when a duplicate option value is added to the list of options to help avoid issues with accidental duplicate option values getting added to a field.
- Updated pop up styling for a more consistent design.
- New: Autocomplete dropdowns in the back end will now include an aria-label on the options to avoid accessibility issues with screen readers only reading ID values.
- New: A redirect will now happen after duplication to avoid issues with multiple duplicate actions on page refresh.
- New: Added additional styling for repeaters in tables shown in actions to show indentation for the repeated data.
- New: Added a Save and Reload button that appears after installing a required add on when clicking a field with missing requirements.
- Fix: The aria-describedby attribute will now be ordered intentionally so errors get first priority by default. Checks have been added to avoid duplicate ids appearing in aria-describedby attributes as well.
- Fix: A few issues with label position settings were introduced with last update that are now fixed. Labels were appearing when the «none» label position setting was set.
- Fix: Automation settings were appearing for action types that don’t support automation when the Action Automation add on wasn’t active.
- Fix: Fixed a caching conflict that would cause back end pages to break on some servers with an frmDom is not defined console error.
- Fix: Labels were appearing overlapped over input fields when previewed from the style manager for styles with the inline label position setting.
- Updated the icon for Zapier.
- New: Fields using the «Placeholder inside the field» Label Position setting will now use an animated label that moves to the top of the field when focused.
- New: Added a new frm_after_destroy_entry filter that can be used to update caching after an entry is deleted.
- Fix: An unexpected empty broken app shortcut was appearing for expired licenses.
- New: Added a new frm_new_form_values filter for customizing default values.
- New: Added a new frm_ajax_loaded_field event for listening for loaded fields loaded via AJAX on a long form in the back-end.
- Fix: Aria-describedby attribute values in HTML were not properly merging with the aria-describedby values added by field descriptions and errors.
- Fix: Imported field data would occasionally break if the new field ids had a different number of digits than the previously imported values.
- Fix: Placeholder text was appearing more transparent in Firefox than in other browsers and has been updated for consistency.
- Fix: Prevent a conflict that was causing the new Form modal to appear on some websites as a blank box without any content.
- New: RGB and RGBA color values will now be fixed automatically on save if incomplete to avoid broken CSS.
- New: Unlocked apps now appear at the top of the list.
- New: Improved the responsiveness of the cards on the App dashboard page.
- Fix: Prevent a conflict with All in One SEO that was preventing CSS from loading at all when the only on applicable pages setting is selected.
- Fix: An unexpected add new button was appearing on a few pages and has been removed.
- Fix: Prevent a fatal error in PHP8 that happens on sites with an unexpected empty string gmt_offset option set.
- New: Added a new page for displaying apps.
- New: Imported views and pages with [formidable] and [display-frm-data] shortcodes will now replace old ids with the new imported ids.
- New: Importing will now replace the old field ids with new field ids when the id is used in a field_id shortcode option.
- Fix: Field id values were not always properly updating when after duplication depending on the order of the fields.
- Fix: Step value validation was occasionally breaking in some cases due to rounding precision issues.
- New: The step value for number fields is now validated server side on submission.
- New: Added a new frm_focus_first_error filter to toggle of the behavior of the auto-focus that gets triggered on the first field with an error.
- New: Added a new frm_include_alert_role_on_field_errors filter to toggle the alert role that gets added to field errors.
- New: Defined field option data will no longer be sent to Akismet, to help improve accuracy with Akismet API.
- Fix: Updated Elementor widget so it no longer uses the deprecated _register_controls method.
- New: Updated how unique keys are generated for shorter unique keys.
- New: Added a new frm_unique_field_key_separator filter for unique field keys.
- New: Added a new frm_saved_errors filter for extending validation.
- Fix: Fixed a conflict with All in One SEO that was causing multiselect dropdowns to appear larger than expected.
- Fix: Fixed a conflict with Duplicator Pro that was causing dropdowns to break after updating to Bootstrap 4.
- Fix: Importing multiple forms was importing the wrong name.
- Fix: Clicking to install a template was copying the NEW html into the name input.
- Updated Bootstrap to version 4.6.1.
- New: Name fields will be automatically used to define entry names if available.
- New: Added setting to update privileged access message.
- Fix: Section icon dropdown toggles were not displaying updated changes.
- Fix: Prevent a PHP 8.1 deprecation message where null was being passed to substr.
- Fix: Name fields with no descriptions were still displaying bottom margins.
- New: Added new checkboxes to toggle title and description visibility. The preview page will no longer always show title and description by default, and will use these checkboxes instead.
- Fix: In-Theme Previews trigger a fatal error in WordPress 5.9.1.
- Fix: Checkbox fields were appearing as broken vertical lines when using the Enfold theme.
- Fix: A deprecation message was occasionally logged in PHP8 when trying to decode null values.
- Increased WP version requirement to 5.2.
- New: Added a new Embed Form modal and a new Embed button that appears in the settings pages beside Preview and Update. Now it can be embedded into a new page or an existing page with just a few clicks.
- Fix: A Notice was being logged that wp_enqueue_script() was called incorrectly when loading the new Widgets editor since WordPress 5.8.
- Fix: An unexpected array value in submitted data would cause some text fields to break in PHP8.
- Fix: Some AJAX calls for an API loaded form was occasionally targeting the wrong site, causing unwanted redirects.
- Fix: Dropdown field options were including redundant class=»» HTML that has been removed.
- Updated Bootstrap Multiselect to version 1.1.1, fixing issues with the accessibility of backend multiselect dropdowns for blind users.
- New: Error messages will now always include the role=»alert» attribute for more accessible errors. New fields will now also include role=»alert» in field HTML.
- New: Added a new frm_entries_column_value filter hook.
- The embedded CodeMirror code for compatibility with versions of WordPress before 4.9 has been removed.
- New: The ctype PHP extension is no longer a requirement.
- Fix: The CSS page would appear without any textarea on some configurations where CodeMirror may be disabled.
- Fix: Removed padding styles from radio buttons because of a conflict with the Sensational theme.
- New: Field shortcodes now support sanitize_url=1 and sanitize=1 options which were previously only processed in Pro.
- New: The sanitize_url=1 option will now be inserted automatically when inserting most field shortcodes to a redirect url. This is to avoid issues with redirects stripping characters like ‹ and @ which may cause a redirect to fail in some cases.
- New: Updated styling for radio buttons and checkboxes, with improvements to appearance on mobile devices as well.
- New: Extended the FrmCSVExportHelper::generate_csv function so it has the option to generate a CSV file in a temporary directory, and pass along an array of meta information to most CSV filter hooks.
- New: A new action_id variable has been added to the arguments passed to the frm_notification_attachment filter to make it easier to filter attachments by action ID.
- New: Added new frm_entry_formatter_class, frm_prepend_and_or_where, frm_entry_formatter_format, frm_formatted_entry_values_content, and frm_entries_show_args filter hooks.
- New: Allow more colors in the styler to be transparent including background colors and border colors for active, hovered, and disabled inputs.
- Fix: Selected radio buttons were appearing incorrectly when using the Twenty Twenty One theme in Chrome or Safari.
- Fix: Radio buttons and checkboxes were appearing overlapped with labels when using the H-Code theme.
- Fix: Field pop ups were displaying upgrade messages even for licenses that had access to the add on.
- Security: Improved how data is sanitized when previewing in the style manager.
- Fix: Prevent a warning when trying to get inbox messages from the API when no messages are being returned.
- Fix: The frm_alignright class was being stripped, preventing the right alignment from appearing in the back end.
- Fix: The frm_alignright class was causing fields to shift to the wrong row. The style definition has been updated so it will stay in the same row as other fields.
- New: Pre-determined option data will no longer be sent to Akismet to help reduce the number of false positive results.
- Fix: Significantly reduced the amount of memory required to load settings for websites with fewer than 50 pages with a lot of data.
- Fix: Author email, url, or name are no longer included in comment info when sending data to Akismet so that duplicate information is not sent.
- Fix: Field groups could not be moved because of a missing class on the drag handle.
- Deprecated: Calls to FrmFormsController::preview will no longer try to load WordPress if it is not already initialized. This could cause issues for users that still use old preview links (see https://formidableforms.com/knowledgebase/php-examples/#kb-use-the-old-preview-links for an example).
- Security: Unsafe HTML will now be stripped from global message defaults, whitelabel settings, and when importing with XML if the user saving HTML does not have the unfiltered_html permission or if the DISALLOW_UNFILTERED_HTML constant is set.
- Updated Bootstrap used in back end to version 3.4.1.
- A few images that were being loaded from S3 and CDN urls are now included instead.
- Security: Unsafe HTML will now be stripped from field labels, descriptions, and custom HTML, as well as titles, descriptions, custom submit text, custom submit HTML, before HTML, after HTML, and success message if the user saving HTML does not have the unfiltered_html permission or if the DISALLOW_UNFILTERED_HTML constant is set.
- New: Added new frm_akismet_values filter to help improve Akismet integration.
- Fix: The Akismet API was getting called if Akismet was set up even if Akismet was turned off.
- Fix: Updated the styling when a field option is being dragged and dropped.
- New: Added new frm_export_csv_headings filter to make it easier to add and remove exported CSV headings.
- New: When clicking an inactive action that requires pro, the required pro license will be properly shown in the popup.
- New: Added new frm_fields_to_validate, frm_submit_button_html, and frm_fields_for_csv_export filters.
- Fix: Improved the accessibility of field group dropdowns and field group row layout pop ups.
- Fix: The caret icon on the dropdown was not positioned properly for the Gutenberg block.
- Fix: When clicking the media button in Elementor, the pop up was appearing as empty with no content.
- Deprecated the option to disable CSS Grids.
- Fix: Field dropdowns are now more accessible and it should be easier to delete and duplicate fields with a screen reader.
- Fix: Updated padding on admin page so styles with custom padding don’t appear small in the back end.
- New: Added a button to quickly save and reload after activating a new add-on from the settings page.
- New: Added several new filters required to support the new surveys add on.
- New: Added an Elementor widget.
- New: When duplicating fields, most unsaved changes will now duplicate as well.
- New: Next button label and slider field label previews will now update as soon as the setting is changed.
- New: Slider field previews will now update when the min and max values are updated.
- Fix: The search dropdown was getting cut off on pages with no search results.
- Fix: When legacy views or visual views are active, both versions were appearing active on the add ons page.
- New: Field groups can now be duplicated and deleted.
- New: Updated styling and icons in the back end.
- New: Added search when adding fields to make finding a specific field easier.
- Fix: Added truncation to long keys during duplication to avoid issues with duplicating when the generated key was too long.
- Increased WP version requirement to 5.0.
- New: Fields can now be dragged beside each other and grid layouts will be automatically applied.
- New: Added the option to quickly set layouts for a full row of fields at once.
- New: Fields can now be multiselected using the command, control, and shift keys. Selected field groups can be merged into rows and deleted in batches.
- New: Permissions are now updated right away when a license is activated to avoid issues with certain pro features not being available right away.
- Fix: Updated styling for new fields that are about to be dropped.
- New: Improved support for importing grid and table view content.
- Fix: The update and preview buttons would wrap to two lines for some longer translations including German and Dutch.
- New: The first field with an error will now automatically get focus when an entry is submitted for better accessibility and improved user experience.
- Fix: The reply to value would default to the admin email instead of the from setting when a shortcode with an empty result was used.
- Fix: When switching between the dropdown and text lookup types, the watch lookup option did not properly toggle back on.
- Fix: The autocomplete page dropdown was not consistent with other styles.
- New: Name fields now work in the To and From settings.
- Fix: Images were not properly loading when styles were loading via an AJAX request.
- Fix: Zeros were not appearing in the entries list for repeaters.
- New: The padding for descriptions can now be customized when editing styles.
- New: Added a new frm_duplicate_check_val filter for customizing the duplicate entry check. This can be used to remove IP to help prevent duplicate entries for longer periods of time when using frm_time_to_check_duplicates filter.
- New: Added visibility option to the Name field.
- Fix: The honeypot setting would still appear as on after it was turned off.
- New: Added a quick and easy Name field with options for First, Middle, and Last names.
- New: Added Honeypot options to settings and changed the default Honeypot behavior to avoid the false positives some people are seeing on mobile devices.
- New: Added a frm_process_honeypot filter for gracefully handling honeypot spam.
- Fix: A warning was getting logged when exporting as XML.
- New: Improved the performance of the style editor preview.
- New: You can now sign up for free templates directly from your inbox.
- Fix: Date fields were not properly detecting duplicate entries.
- Fix: Conditionals were not properly fading in when the block was added to a page.
- Fix: Actions would occasionally conflict if multiple were added too quickly.
- New: If you add or remove an action and try to leave the page without saving, there will be a warning.
- Fix: The style editor save button was hidden in WordPress 5.7.
- Fix: There were a couple of words misspelled on the welcome page.
- Fix: Duplicated fields would occasionally generate long field keys that were preventing fields from being created.
- Fix: Fields for controlling radio options in the back-end were not using unique id attribute values.
- New: Added a new welcome screen to introduce new users.
- Fix: Make sure that Site Health exists when upgrading.
- Fix: Invalid message data was occasionally appearing in the Inbox.
- Fix: Excluded checkbox options were not properly toggling for Action Taxonomies.
- Fix: Some pop ups were occasionally including outdated text.
- Fix: Autofill was flagging submissions as spam with Honeypot in some browsers.
- Fix: Important security update that adds better escaping when text is used from attribute data.
- Fix: The back-end page wasn’t always loading all fields correctly when loaded with ajax.
- New: frm_global_switch_fields and frm_maybe_switch_field_ids hooks for changing field ids in an action when a form is duplicated.
- New: Added frm_run_honeypot hook to turn off honeypot. Return false to disable or ‹limit› to hide from screenreader.
- Moved honeypot back to the top to catch more spam.
- Fix: Dropdown fields were cut off in the admin area in WordPress 5.6.
- Fix: Update a few deprecated jQuery functions.
- Fix: Prevent some duplicate database queries on the back end.
- Show a warning when leaving the settings page with unsaved changes.
- Make the process for using free templates more clear.
- New: Added confirmation before deleting in bulk.
- Allow a value to pass validation if the entered value matches the placeholder setting.
- Fix: Email addresses were not being sent to Akismet for logged out users, and resulting in some false positive spam.
- Fix: Some sites have been getting duplicate entries days apart. This issue should be fixed.
- Fix: Searching when switching between forms no longer triggers the confirmation message when leaving the page.
- New: Show a warning when leaving a back-end page with unsaved changes.
- Fix: Make any multiselect dropdowns in admin settings accessible.
- Fix: aria-invalid attribute was missing on elements for accessibility.
- New: Use frm_inline_success for the class in the customized HTML to move the success message next to the submit button. «frm_inline_success frm_alignright_success» will right-align the message.
- Tweak: Improve the admin listing pages when nothing has been created.
- Fix: Update the recaptcha for better reliability to catch more spam.
- More consistent dropdown styling with multiselect dropdowns.
- Prepare the code for handling permissions options as an array of roles.
- Fix: WP 5.5 – Email subject lines were coming through encoded.
- Fix: WP 5.5 – When WP Mail SMTP was installed, the Formidable SMTP page has an error.
- New: Added frm_message_placement hook to show the message below the form
- New: New classes that can be used in the class setting: frm_plain_success (Removes styling from the success message) and frm_below_success (Moves the success message below).
- Add Formidable back to the admin bar. This is now a setting if the default WordPress v5.2+ behavior is desired.
- Fix: Review requests were added to the inbox too frequently for sites with multiple admins.
- Fix: Elementor conflict by using the glost $post in the admin area.
- Fix: The color picker position in the styling settings was off for some options.
- Fix: The entry list wasn’t always showing the entries.
- Better sync between review requests in inbox and message.
- Updates to the default styling.
- New: Added an inbox as a centralized place for notices and communication.
- New: Added frm_color_block and frm_total_big classes for more beautiful forms.
- Help prevent common email issues by showing a warning in the settings when the from and to email addresses are the same.
- Fix: Forms edited after export and reimported were losing the required indicator in some cases.