cables plugged-in to a device

Resolving Plugin Conflicts

As I have mentioned before, the best platform for lawyers seeking their own websites is undoubtedly WordPress. But, as with any software, there can sometimes be problems getting things to work as you want. This post addresses one of the most common issues when using WordPress: plugin conflicts. 

How to Know When There’s a Conflict

If you are certain that you have installed, activated, and configured a plugin correctly, and yet it doesn’t appear to work for you when many others have it working without issue, then you probably have a conflict. Similarly, if you start having problems elsewhere on your site after having installed a new plugin, then that is probably a symptom of a conflict. 

The first step in such situations should be to check that you have, indeed, set up the plugin correctly. If you are not sure, or if you are sure, but you still have problems, the next step is to contact the developer. Sometimes what you are experiencing might be a known issue, with a tried-and-tested solution. But if not, and no-one else can reproduce your problem, the you need to engage in self-help. 

A Conflict is not a Bug

The first thing you need to understand is that a conflict is not the same as a bug. In fact, the most common conflict arises when two plugins are trying to perform the same task. Both may be appropriately coded, but they cannot co-exist without affecting each other. 

Running two plugins that are both designed to keep your site secure is a common example of this type of conflict. Both probably are trying to make use of the same “hooks” or “filters” that WordPress provides but they are effectively engaged in a race to use them first. While they jostle for position, the result may be some very strange behavior on your site, which might now very well actually be less secure than it was before. 

The Fallacy of the Last Activated Plugin

You also need to understand that, if you have a plugin conflict, it is not necessarily the fault of the plugin you activated later. This is true even if the other plugin had been running flawlessly until that point. 

In fact, activating a new plugin on your site is just like addition. You are simply adding more code. And, just like addition, the order in which you place the items to be added is totally irrelevant. 1 + 2 + 3 = 2 + 3 + 1 = 3 + 2 + 1. So the order in which you activated the plugins tells you nothing about where the problem lies. It just tells you that the latest plugin is experiencing a conflict. 

Diagnosis

All plugins should work with a base setup of the the WordPress core and a default theme (i.e. one of the Twenty- something series, such as Twenty Sixteen). So the first step in diagnosing a plugin conflict is to rule out a bug. 

We do that by deactivating all plugins besides the one being investigated, while also switching to a default theme. (This is why you should always keep one of the default themes on your site, even if it’s not the active theme.) You must also ensure that all caching is switched off. 

If the plugin does not work properly then, either the plugin has a bug, or else there is something else problematic about your site. Perhaps it is running an old version of PHP (the site’s programming language) or MySQL (its database), with which the plugin is not compatible. If so, you will need to talk to your host to get them upgraded; there is a major security risk in running outdated versions of such software. 

If, however, the plugin now works fine, you had a conflict before. You now need to change back to your own theme and test again. If the problem recurs, the conflict is with your theme. 

If the problem does not recur, the conflict is with another plugin. You now need to turn each plugin on, one by one, and re-test after each activation until the conflict recurs. When it does, you will know that the most recently-activated plugin is the one with which the plugin being tested has a conflict. 

You can now report your findings to the developers of both plugins. Maybe they will be able to modify their code to avoid this problem. If not, you will have to decide which plugin to keep. 

Test First

Trying to identify a plugin conflict can be a pain in the neck. In fact, you should not be doing this on a live site. You should be running a testing site either on your own computer, or else as a “staging” site provided by your host. That way, you get to test everything before you update or activate a new plugin on your live site. 

Prevention is always better than cure.