TIP: Check out the bottom of this article for an easy-to-follow video covering many of the techniques presented here.
Introduction
Gravity Forms uses WordPress’ best practices to make it as compatible as possible with all themes and plugins; however, some theme and plugin authors do not adhere to these best practices which can often result in a theme or plugin conflict with Gravity Forms.
The following sections provide instructions for determining if an issue you are experiencing with Gravity Forms is caused by a third-party. If you determine that your issue is not caused by a third-party following these instructions, please open a support ticket. If you were directed to this topic after having opened a ticket please reply to the ticket confirming that you have followed these steps and were still able to recreate this issue.
Before you start
A backup is always advised
It is advised to create a backup of your WordPress as good practice. Because you know what will happen the one time you forget this step…
If using a third-party page builder or modal to embed the form
Gravity Forms fully supports both the WordPress Classic Editor and the WordPress Block Editor.
Although we also strive to test some of the most popular page builders, like Elementor or Beaver Builder for example, there are a plethora of third-party options out there. Even if we find a compatibility issue with a third-party builder, we can only advise them of it—we cannot modify their code nor control whether they resolve the issue in a timely manner. As such, third-party builders can be the cause of a form issue, and need to be ruled out when troubleshooting.
To confirm your page builder is not the issue, create a test page and embed your form directly on it using the WordPress form editor. Now test the form again from this clean page, and if your issue has vanished, then that is a fairly good indication that your page builder is the source of the issue. Reach out to their support for advice.
If the page is being cached or minified by a plugin or hosting company
Caching and automatic JavaScript optimization techniques have been known to cause issues with plugins and even core WordPress features. It’s great to cache static pages to speed up loading times, but caching dynamic pages where you do changes often is not always a good practice. Additionally, trying to automate the optimization of the scripts on the page without knowing each script’s needs is a possible way to break JavaScript-related features.
So if your page is being cached or using any JavaScript related optimization done by a plugin, a CDN (e.g. CloudFlare, Sucuri, KeyCDN, etc), or your host using an internal proxy, Varnish, Redis object cache, or any other caching engine, make sure to flush the cache and turn off caching and JavaScript optimizations completely during testing. Failure to do this can create false positives due to cached resources or the optimizations done.
Below you can find links to instructions to exclude your form page from caching for most used cached solutions
- Breeze – CloudWays
- CloudFlare
- NitroPack
- Speed Optimizer by SiteGround (aka SiteGround Optimizer and SGO)
- Sucuri
- W3 Total Cache
- WP Engine
- WP Fastest Cache
- WP-Optimize
- WP Rocket
Some Hosts like Kinsta require the user to contact their support to request excluding the desired pages from their cache.
Fresh Forms for Gravity is a plugin that can help to deal with caching automatically in most cases.
Testing for Theme Conflicts
To test for a theme conflict:
- Activate a default theme such as Twenty Nineteen, Twenty, Twenty One, or Twenty Two
- Check to see if the issue still occurs
If the issue does not occur after having activated a default “Twenty” theme, your theme is causing a conflict with Gravity Forms. First, check for updates to your theme or child theme. If you are up to date, or updating does not resolve the conflict, please reach out to the support for your theme for assistance.
If the issue continues to occur when using an Automattic “Twenty” theme, you should then test for plugin conflicts.
Testing for Plugin Conflicts
To test for a plugin conflict:
- Deactivate ALL plugins
- Activate Gravity Forms
- Check to see if the issue occurs
For multisite installations, you will need to ensure ALL plugins are disabled both on the sub-site Plugins menu (if it’s available) and the Network Admin Plugins page.
Also note Must-Use and Drop-ins plugins don’t have a deactivate option, if you have any of these installed, you will want to download their files to a safe place and remove them for testing.
With only the Gravity Forms plugin active, you are ready to start looking for conflicts.
If your form requires any of the official Gravity Forms add-ons, like User Registration, Advanced Post Creation, Stripe, etc, you can enable those also. But keep the first test limited only to official Gravity Forms add-ons. Remember the goal of this test is to find out if the issue is caused by a third-party software.
Now try and replicate the issue you were experiencing in this reduced environment.
No issue on the first test
If you experience no re-occurrence of the issue, then continue to expand your testing scope by:
- Enable one additional plugin.
- Test again.
- Issue found? Then you have your culprit.
- Working without any issue? Then repeat 1 and 2.
Once you have found the conflicting plugin, please first be sure that the plugin is updated to the latest available version. If you are already up to date or updating does not resolve your conflict, please reach out to the support for the conflicting plugin.