How to Test for Plugin and Theme Conflicts

You are here:

What are theme and plugin conflicts?

A conflict is an error or malfunction caused by two parts of code giving conflicting signals. For example, plugin A gives the signal to put the order in “Completed” status and plugin B prevents this from happening.

Themes and plugins provide additional functionality and features — it also means more code is running on your website and the risk of incompatibility is higher. We strive to ensure compatibility with our own extensions, but third-party products made for WooCommerce are not guaranteed to work with our software. In this documentation page, we will explain how to test for plugin and theme conflicts.

How to do a conflict test

Testing is the only way to determine what is causing a conflict.

Backups and staging

We highly recommend making a backup of your site. Deactivating and reactivating plugins typically doesn’t cause issues, but having a good backup will save you a lot of time and energy on the rare occasion it does.

Most hosting providers offer a backup plan. If not, there are two options:

  • Consider Jetpack Backup
  • Use a Staging site – This is a clone of your production site — one that is processing orders and has visitors — where you can safely test conflicts without your live site being affected and potentially losing revenue. Most hosting providers can help with this. Or, on most hosting platforms, you can also use the WP Staging plugin to create a clone in your Dashboard.

Deactivation and testing

To troubleshoot theme and plugin conflicts:

  1. Switch to a default WordPress theme, such as Twenty Nineteen to see if the issue persists.
    • If no, your theme is causing the issue. You can: a) change your theme; b) contact the author of the theme and ask them to fix it.
    • If yes, go to the next step.
  2. Temporarily deactivate all plugins except WooCommerce and the WooCommerce extensions you’re experiencing issues with.
  3. Test if the conflict still exists. How to test it, depends on what type of conflict you were experiencing.
    • If the conflict occurred while browsing your site or the Dashboard, go to the same location. Examples of this would be:
      • A feature not working on the product edit screen
      • A button not showing on the cart page
    • If the conflict only happens after a certain process, recreate and follow those identical steps. Examples of this would be:
      • An order is marked “On Hold” instead of “Completed” after product A is added and paid for.
      • An error displays while adding two products to the cart.
    • If the conflict no longer exists, it means that the theme or plugins/extensions you deactivated were causing the conflict. If the conflict still exists, see ‘Drop-Ins and Must-Use’ and ‘Unsuccessful Conflict Tests’ below.
  4. Determine which plugin is causing the conflict by:
    • reactivating them one by one
    • testing again after each reactivation. For process-related conflicts, this means recreating the same process over and over again.

Helpful tools

  • Health Check is useful for debugging and requires an official default WordPress theme such as Twenty Nineteen or our own Storefront. With a few clicks, it deactivates all plugins and changes the theme while you’re logged in to that session and normal visitors to your site are unaffected. More details at: Troubleshooting with Health Check.
  • Meks Quick Plugin Disabler remembers what plugins you had active when you’re done testing.

Drop-ins and must-use

On some sites is a “Must-Use” and/or “Drop-ins” section in the plugins list. These cannot be deactivated by you directly, but they can be the cause of the conflict.

  • Some of these plugins are installed by another plugin. The function as a “helper plugin”. While doing a conflict test, deactivating those other “parent” plugins will also deactivate these ones.
  • Also, many hosting companies use drop-in and/or must-use plugins that they pre-install on your site because it helps with their server setup.

If the conflict persists in the latter case while doing the above tests, it might be caused by a drop-in installed by your host. For example, we’ve seen conflicts caused by drop-in caching plugins. In this case, you need to contact your hosting company for help with deactivation.blank

Unsuccessful conflict tests

Should nothing change/resolve with issues and/or errors you’re experiencing after testing for conflicts, it likely means there is another cause. Contact a Happiness Engineer via our Support Ticket. Please include a detailed description of:

  • Steps which can be taken to replicate the issue
  • Conflict tests you performed to exclude conflicts
Was this article helpful?
Dislike 0
Views: 35