Resolving WordPress Theme and Plugin Conflicts

 Objective: To share what we've learned about WordPress Theme and Plugin conflicts while providing support for our customers.

Audience: People that provide support for others or are trying to resolve an issue with a WordPress site, Theme or Plugin.

Author: Kyle M. Brown, Founder wpSaaS.

Updated: Jan 2019

Contributors: The wpSaaS team, Phil Derksen, Dave Rodenbaugh, Matt Cromwell, Nick Young, Brad Touesnard

wordpress-questions

Note: If you want to skip right to the checklist of steps to identify and resolve your WordPress conflict, scroll down to step "1) Backup".

We provide support for WordPress plugins. In providing that support we recognized some trends with Themes and Plugin conflicts as root causes. The data in this document was derived for a combination of sources including trends we observed while providing support, general troubleshooting, research and information that has been published by theme and plugin developers in the WordPress community based on their experiences.

Approximately 65% of the issues that are reported to us are determined to have a root cause that is related to conflicts with a 3rd party theme or plugin. When I say 3rd party, It means that the Theme or Plugin was not authored by Automattic - the company behind WordPress - or not authored by the developer of the product that we are supporting. Reference WordPress Coding standards.

The scenario usually follows this pattern or one that is similar. A customer that has purchased your plugin, installs it and has some level of trouble using it. They contact you through your support channel seeking assistance. At this point, it varies what happens next because all WordPress business owners approach support differently. What we recommend as a first step - after you have a clear understanding of the issue - is eliminating third-party themes and plugins as a possible root cause.

Some WordPress business owners attempt to troubleshoot while 3rd party themes and plugins are active. This can be considered a bad practice because 3rd party themes or plugins are introducing an unknown number of variables that your product was not likely developed or tested with. You, your support team and developers could potentially spend hours, days, weeks, months trying to resolve an issue in such a case. This ultimately depends on your style of support and what you think is right for your customer.

WordPress Plugin and Theme Conflict Resolution - Troubleshooting Guide

troubleshoot-wordpress-themes-plugins

These are things that you should consider before extensive troubleshooting begins.

Note: Caching - If you are using caching plugins or caching services on your server, you should be able to modify your caching settings or disable your caching plugin altogether before your start troubleshooting this conflict. A common occurrence is for users to go through these steps and see no changes only to realize later that it was because they are still viewing cached information.

Note: Testing / Staging Environments - You may want to consider setting up a separate environment that mirrors your current environment for the purpose of troubleshooting. It is a good practice to have such an environment for testing changes that you might be planning including new themes, plugins or other changes first before implementing them into your production/live site.

1) Backup - Running backups - creating a backup copy of your entire website - is very important and always a good practice in general but it is even more important to do before making changes to your WordPress site.

Resources:
There are a large number of backup tutorials and plugins available. Read about some of them @ https://premium.wpmudev.org/blog/free-quality-backup-plugins/

Backup Buddy is a premium backup plugin and is available @
http://wpsaas.net/backup-buddy/

2) Check Versions / Updates - Always be sure that you are running the most current version of WordPress itself, any themes and any plugins that are running on your site. Periodically developers release updates which provide new features, fix known bugs and security patches. Not only is it a best practice but you avoid spending time trying to resolve an issue that may have already been identified and fixed in an update. We frequently observe instances where customers have reached out to us and they are using a version of the plugin that is several releases behind. Additionally, we see cases where their version of WordPress, a theme or plugin is outdated. In these cases, simply updating WordPress, a theme or plugin resolves the issue.

Resources:

How to update WordPress: http://www.wpbeginner.com/glossary/updates/
How to update a WordPress Theme: https://premium.wpmudev.org/blog/upgrade-wordpress-themes-even-if-they-are-customized/
How to update a WordPress Plugin: https://whatswp.com/how-to-update-wordpress-plugin/

3) Testing for Theme conflicts
To rule out a theme conflict, you’ll first need to temporarily deactivate your theme and activate a WordPress default (stock) theme like Twenty Nineteen. Then clear your browser cache and any other caching that might be running on your WordPress site or server/hosting environment.

Test your issue again, and if it no longer exists, you have identified a theme conflict. At this point, adjustments will need to be made to your theme in order to get our plugin to work with your site.

Your theme should also implement wp_head() and wp_footer(), otherwise scripts may not load correctly.

You can also try running the Theme Check plugin to make sure your theme supports the latest WordPress standards.

Resources:
Theme Check Plugin: https://wordpress.org/plugins/theme-check/

4) Testing for Plugin conflicts
If you’ve already ruled out a theme conflict, next you’ll need to check for plugin conflicts.

While a WP stock theme is still active, next deactivate all other plugins except for ours.

Test your issue once again, and if it no longer exists, you have a plugin conflict. To determine which plugin is conflicting, re-activate plugins one by one while testing to see if the issue returns after each activation. When the issue returns you’ve found the conflicting plugin.

At this point, you’ll need to find an alternate solution to the conflicting plugin or have adjustments made to it.

5) Testing for Widget conflicts
Occasionally widgets may cause conflicts with some plugin features. Usually, these come from HTML, script or shortcodes entered directly into a text or similar widget.

Like plugins, you can temporarily move widgets to the “Inactive Widgets” section in the admin to see if that helps solve the issue.

Other things to consider

jQuery - Lot of conflicts come from jQuery being added using alternative methods and it forces an older version than what is bundled WordPress out of the box.

Resources:

Pippin Williamson wrote an article on this topic @ https://pippinsplugins.com/why-loading-your-own-jquery-is-irresponsible/

I found a conflict now what?

Once you tried the troubleshooting steps on this page, there is a 70% chance that you identified the source of your problem and are probably asking yourself what's next.

A few recommendations are as follows:

  1. Simply find an alternative theme or plugin and use it instead.

If you absolutely need to keep the conflicting theme or plugin:

  1. Rollback any previous plugin updates: Resource - WP Rollback https://wordpress.org/plugins/wp-rollback. If you determine that it's a plugin conflict, then it's possible that a recent update of that plugin is what triggered the conflict. You can easily rollback to the previous version then report the issue with details to the plugin author.

  2. Reach out to the theme or plugin developer and explain the issue to them. Often times they can provide you with a resolution since they are more familiar with the theme or plugin.

    Gather your system information: Resource - Send System Info https://wordpress.org/plugins/send-system-info plugin. This allows the user to create a simple public page of their system info which they can provide to the plugin author with their ticket.

  3. Reach out to a service that specializes in WordPress like wpBuffs or Codeable and have the theme or plugin customized to work with the conflicting theme or plugin.

If you are not in a position to deactivate your theme maybe you could consider one of the following options:

  • Setup up a WordPress installation on a subdomain and install conflicting plugin there.
  • Setup up a WordPress installation on a sub-directory and install conflicting plugin there.
  • Use a plugin that changes theme per post/page - https://wordpress.org/plugins/jonradio-multiple-themes/ (Have not tested this ourselves)

There can be a wide number of variables causing the issue that you may be experiencing. Hopefully, at this point, you should either be free of your issue or well on your way to a solution. Please forward any comments, questions or suggestions to us.

Relieve yourself of the burden of wearing the support hat today

Drop us a line today for a free quote!

2 Comments

  1. Collins Agbonghama on February 18, 2018 at 5:21 pm

    As a plugin developer, I admit this is an excellent resource on troubleshooting theme and plugin conflict.



    • Kyle M. Brown on March 16, 2018 at 8:42 am

      Glad that you found it useful Collins.