Ninja Forms +
Conditional Logic

Build dynamic forms that can change as a user fills out the form. Show and hide fields. Send certain email, don't send others. Redirect to one of many pages. The possibilities are endless!

Do your WordPress forms need to do more than collect the same information from every user? Need different form content presented based on user preferences/needs? Different actions or notification options to process based on how your guests fill out your form? You can make it happen with Conditional Logic!

Conditional Logic is your solution for building smart, dynamic, interactive WordPress forms.

  • Have you ever tried building out a form that includes everything that everyone needs and wound up with a long, complicated mess?
  • Gotten frustrated with trying to have only certain actions or emails fire based on what a user indicates they need?
  • Convinced that you’ll need custom work done to make your forms behave like you want them to?

You won’t. Use Conditional Logic to dynamically change any form on the fly, as the user fills it out!

Build dynamic WordPress forms that shape themselves to your users’ needs

You can’t build every form for every user. Some forms simply must change dynamically to meet the needs of your audience. Improving user experience, boosting form conversion, and a better quality/relevance of the data you collect are only a few of the advantages.

With Conditional Logic, you can:

Show and hide fields

conditional logic form show/hide field

Change values in fields

conditional logic form demo of changing field values

Add and remove items to/from a list

conditional logic form demo of adding/removing list options

Apply Conditional Logic to virtually any other Ninja Forms add-on (and much more!)

Want to send notifications to specific people/departments based on how a user has interacted with your form? You can do that.

Need to subscribe guests to specific newsletter lists based on their expressed interests? No problem.

Calculate the value of a prospective lead behind the scenes and push that data into your CRM? Easy.

Show/hide pages of a Multi-Part form? Yep.

Present exclusive offers to select customers? That too.

Use specific payment gateways based on user preference? Just a few minutes to setup.

So, what are you waiting on? Tap the power of Conditional Logic today and start reaping the benefits of smart, dynamic, interactive WordPress forms!

Conditional Logic is also included in any Ninja Forms membership plan!

Frequently Asked Questions

Can I hide and show form fields based on user selection?

Yes, you can hide and show form fields based on user selection very easily with Conditional Logic. It’s as simple as indicating which field you want to hide or show along with whichever other field you want to base this on.

Do I need to know any code to hide or show fields, or to use any other Conditional Logic feature?

You can hide and show fields without code. You’ll have a neat, clean UI where you can select whatever you want to change, fire or not fire, and the trigger for any of these thing to occur. You just need to be able to point and click!

What type of support is available to Ninja Forms customers?

We have a dedicated support team standing by to help with anything you may need. We’re available 9am-4pm EST, Mon-Fri, and strive to answer all customer requests within 24 hours.

How do Ninja Forms licenses work?

Licenses are subscription based and will auto-renew each year unless cancelled. If cancelled, you may still use your extensions but will no longer receive important updates or support once the license expires.

Can I get a demo or trial of Ninja Forms add-ons before I buy?

We don’t have a demo or trial version of our add-ons, but we do offer a 14 day full refund policy for any reason whatsoever.


3.0.28 (4 August 2020)


  • Resolved an issue that was preventing file uploads from being saved properly upon submission.
  • Conditions should no longer lose reference to fields that have been renamed in the form builder.

3.0.27 (23 July 2020)


  • Resolved an issue that was causing conditions on actions to be ignored. (21 July 2020)


  • Resolved an issue with the plugin auto-updater. (20 July 2020)


  • Patched a data spoofing vulnerability that allowed required fields to be bypassed.

3.0.26 (25 September 2019)


  • Resolved an issue that sometimes prevented actions from firing, even when they had no attached conditions.
  • Forms with a Stripe or PayPal action should now properly complete once returning from the payment screen.

3.0.25 (16 September 2019)


  • Hidden fields should now properly evaluate against empty.
  • Recaptcha fields that are hidden will now properly render once shown.


  • Fields can now be conditionally set as required.

3.0.24 (23 January 2019)


  • Conditions based on calculations should now be properly triggered on form load.
  • Resolved an issue that was sometimes causing actions to always fire, regardless of conditions.


  • Several incompatible field types have been removed from the list of fields that conditions can be based on.
  • Inverse statements will no longer be created by default on new do statements.

3.0.23 (11 January 2019)


  • Action processing will now ignore incomplete conditional statements, which previously prevented the action from firing.

3.0.22 (14 June 2018)


  • Fields now display admin labels (if they exist) instead of labels in condition blocks.

3.0.21 (3 May 2018)


  • Equals conditions based on calculations should now work properly.

3.0.20 (19 April 2018)


  • Duplicating a field should no longer cause conditional logic to lose track of it as a conditional trigger.

3.0.19 (26 March 2018)


  • Conditions based on the selection of single checkbox fields should now function properly.

3.0.18 (24 February 2018)


  • Checkbox values can now be updated via conditional logic again.

3.0.17 (22 August 2017)


  • Actions that use the greaterthan and lessthan comparators should work properly.
  • Incorrectly setup conditions should no longer cause form display to crash.

3.0.16 (02 August 2017)


  • Action conditions should now properly support calculations.
  • Fixed a bug that could cause calculations to fail when using Conditional Logic.

3.0.15 (27 June 2017)


  • When setting up conditions, fields should now appear in alphabetical order within the field list.


  • Conditional Logic should now work properly with the Save Progress add-on.

3.0.14 (31 May 2017)


  • Tabbing through a checkbox list that has conditions will no longer trigger those conditions incorrectly.

3.0.13 (02 May 2017)


  • Fixed a fatal error with PHP version 7.1 and higher.

3.0.12 (11 April 2017)


  • Actions like Stripe can now be conditionally ran.


  • Fixed a bug that caused some conditions to evaluate improperly.

3.0.11 (19 January 2017)


  • Textbox fields can now be compared to an empty string.


  • Help text should render properly for conditionally shown/hidden fields.

3.0.10 (09 December 2016)


  • Fixed a bug that could cause the condition drawer to fail to open if a field was deleted.
  • Conditional Logic shouldn’t prevent or enable actions that are otherwise disabled.

3.0.9 (15 November 2016)


  • Fixed a bug with list field options incorrectly triggering conditions based on partial matches.
  • Fixed a bug with missing field values causing the form to not submit properly.
  • Fixed a bug with false-positives when tabbing through a checkbox field.


  • Use the form cache for getting field data.
  • Corrected processing for different data structures.
  • Added a check for manually disabled actions, so as to not re-enable with conditions.

3.0.8 (25 October 2016)


  • The “any” operator in actions should work properly in all cases.
  • Fixed a bug that caused fatal errors when conditions weren’t configured properly.

3.0.7 (13 October 2016)


  • Creating conditions can now properly be based upon calculations.
  • Fixed a bug with radio lists and the select option trigger.


  • When building conditions, fields should now show up with their admin label if one is set.

3.0.6 (03 October 2016)


  • Required fields should no longer attempt to valide upon show.
  • Country fields can now be used in conditions.
  • Fixed a couple of conversion issues with older form imports.
  • Conditionally shown/hidden fields should all show properly in submission data.


  • Conditions can now be created using > and < with textboxes and textareas.

3.0.5 (28 September 2016)


  • File Uploads should now show in Conditional Logic conditions.

3.0.4 (22 September 2016)


  • Fixed a bug that could cause the builder to crash when fields were removed if there was a condition based upon that field.

3.0.3 (11 September 2016)

  • Bugs:*

  • Fixed a bug that caused the condition edit drawer to fail to open.

3.0.2 (09 September 2016)

  • Fixed a bug with conversion.

3.0.1 (06 September 2016)

  • Updated with Ninja Forms v3.x compatibility

3.0 (06 September 2016)

  • Updated with Ninja Forms v3.x compatibility
  • Deprecated Ninja Forms v2.9.x compatible code

1.4.0 (13 April 2016)


  • Update for compatibility with WordPress 4.5 ( specifically the underscore.js update ).

1.3.9 (26 May 2015)


  • Changed values should now reset to defaults when using the “clear form” setting.

1.3.8 (12 May 2015)


  • Array elements should now work properly with the “Contains” action conditionals.
  • Fixed a PHP Notice.
  • Decimals should now be compared properly.
  • Fixed a bug that could cause a PHP error if asp style tags are enabled in PHP.

1.3.7 (18 March 2015)


  • Fixed a bug that could cause conditional field data to submit improperly.

1.3.6 (17 March 2015)


  • Fixed a bug that could cause JavaScript to load older versions of files.

1.3.5 (4 March 2015)


  • Fixed a bug that could cause conditionally hidden calculations to fail.
  • List options should work properly in version 2.9 of Ninja Forms.

1.3.4 (3 March 2015)


  • Fixed a bug that could prevent new conditions from being added.

1.3.3 (27 February 2015)


  • Preparing for the release of Ninja Forms version 2.9.

1.3.1 (17 November 2014)


  • Fixing bad domain/translation issues.
  • Fixed a bug with checkbox lists and notification conditions.
  • Duplicating a page with conditions using multi-part forms should now properly duplicate those conditions.
  • Fixed several issues related to i18n.

1.3 (28 October 2014)


  • Conditional Logic now supports conditional notifications.
  • Only show, display, or send a notification when a user submits specific form data.


  • Custom conditional triggers can be added for notifications.


  • Fixed a bug that caused conditionals based upon other conditional fields to work improperly.
  • Conditionally hidden totals should now be properly removed from the all fields table.

1.2.7 (24 July 2014)


  • Compatibility with Ninja Forms 2.7.



  • Fixed a bug that prevented some users from getting automatic updates.



  • Fixed a bug that could cause conditions not to work in some AJAX setups.



  • Conditionals should now not be applied when editing a form in the wp-admin.


  • Fixed a bug with the change value setting.



  • Fixed a bug that prevented the ‘add_value’ and ‘change_value’ actions from working properly in some instances.



  • Fixed a bug with required fields that were conditionally hidden.
  • Removed console logs that were causing problems in IE9.
  • Fixed a bug that caused the Add Value setting not to work properly.



  • Fixed several bugs that related to pre-populating conditional fields with multi-part forms.



  • Added support for the new Ninja Forms loading system. This should significantly improve loading speed for forms that use conditionals.



  • Fixed a bug that could prevent conditionals from working properly with required fields.
  • Fixed a bug that could cause conditional logic to break when labels contained long strings of HTML.


  • Updating the JS so that when an element is shown/hidden, a jQuery event is fired after the show/hide is complete.
  • Removed old licensing file.



  • Fixed a bug that caused the “Change Value” conditional action to fail in some cases.
  • Fixed a bug that prevented conditionals from working properly with hidden fields.
  • Fixed several PHP Notices.



  • Fixed a bug that prevented calculations from working properly when a field that the calculation was based upon was hidden with conditional logic.



  • Added a “visible” data attribute.
  • Moved functions from Ninja Forms core to this extension.


  • Fixed several bugs related to using calculation fields and conditionals.



  • Changed the license and auto-update system to the one available in Ninja Forms 2.2.47.



  • Changed references to to



  • Fixed a bug that prevented conditionals from working properly in some installs.


  • Fixed a bug that caused Conditionals to break calculation fields if they were hidden.



  • Updates for compatibility with WordPress 3.6



  • Fixed a bug that prevented conditionals from working properly with calculation fields.



  • Fixed a bug that caused conditionals with multiple criteria to fail when connected with the “All” parameter.



  • The Conditionals Extension can now be used with the Multi-Part Extension to show or hide entire pages.



  • Fixed a bug that was causing dropdown list fields to work improperly with Conditional Logic.



  • Fixed a bug that prevented conditionals from working properly with multi-checkbox lists and multi-radio button lists.



  • Changed the display JS slightly to be more efficient.



  • Conditional fields should now behave as expected when editing user submissions.



  • Fixed a bug that prevented conditionals from working properly with checkbox and radio list types.



  • Moved a JS function from ninja-forms-conditionals-admin.js to the ninja-forms-admin.js.


  • Fixed a bug that prevented multiple forms with conditionals from being placed on the same page.


  • Various bug fixes including:
  • Adding multiple forms with conditions to a single page will now work normally.


  • Various bug fixes.
  • Changed the way that javascript and css files are loaded in extensions.