Ninja Forms Conditional Logic


Show & hide fields, provide payment options, selectively send email, & more! Create WordPress forms with conditional logic that change as users respond.

Create forms that change as they’re filled out. Show and hide fields, modify lists, send email to different recipients conditionally and much more.

Ninja Forms Conditional Logic
Join our 82,801 happy customers
Conditional Logic


Show and hide fields based on user choice

Any number of fields can display or hide based on any user interaction. Only ever show the fields that are relevant to the individual user! Need something as simple as displaying a text field if a user chooses “other” from a list? No problem. Want to display sets of fields based on a number or other user selection? Show/hide parts of a form unless their budget is higher than x? Also no problem. WordPress conditional forms can be as simple or complex as you need them to be.


Change values in fields or calculations

Want to offer a discount if a user enters a coupon code? Change the price of an item if a customer orders more than x? Create a quiz that presents different options based on the user’s score? All of these and more are possible with your WordPress conditional logic form! With Ninja Forms logic, any value in either a field or a calculation can change based on user input, and the form can change to reflect the value!


Modify lists

Want to show or hide individual list items? Just like fields, you can show or hide selection options within any list field. Dropdowns, radio lists, any list. Show or hide one list option, or many. It’s all up to what your users need to see!


Send conditional WordPress email

Email notifications don’t always need to go to the same person or department. If you need forms to conditionally send email to different people or departments based on how the user has filled in the form, it’s just a logic statement away. Any Ninja Forms email action can have logic applied to it very easily.

Display custom success messages

Any of your Ninja Forms can display a custom success message, but one message doesn’t always fit all. Wish you could display different success messages to different users based on how they’ve responded in the form? Want to be able to show different users different results based on a score you’ve calculated in the form? It’s simple: just add conditional logic to any success message. It will only display under the conditions you’ve set. Perfect for quizzes that show users unique results!

Redirect to different destinations

Want to move users from your form to different pages on your WordPress website based on their responses? Just add a logic to the form’s redirect actions. You can set each to fire only if certain conditions have been met in the form. Perfect for routing users to different pages based on their individual interests!

There’s so much more…

Above examples only scratch the surface! You can apply logic practically anywhere, for almost anything. There are tons of other things you can use Ninja Forms Conditional Logic for! Here are some of the more common:

  • Offer different payment options
  • Sign up users to different newsletter lists based on preference
  • Filter for qualified leads only to be added to your crm
  • Offer different PDF downloads based on user choice
  • Skip pages in multi step forms based on your users’ answers
  • Hide the submit button unless particular choices are made

Work smarter, not harder, with conditional WordPress forms!

Sure it’s cliché, but it’s valid. Stop doing things manually that you could be automating. Stop putting everything in front of your users all at once if you don’t have to. Especially for longer forms, trimming back what you display and only showing relevant fields can do wonders for how often your form is actually submitted. That translates into more time and more success with less effort. Let Ninja Forms Conditional Logic start doing work for you today!


3.1 (21 April 2021)


  • Conditions can now compare date fields. This allows users to create conditions that trigger when someone selects or enters a specific date or range.

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.

There are no reviews yet.

Write a review

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.