Plugin stability | Using a plugin VS Developing functionalities yourself

I work at a webdev company where we are experiencing the following problems:

  • The plugin not functioning properly with other plugins that are already installed.
  • Things that don’t work the way we expected, this usually happens because we cannot spend too much time investigating what a plugin actually does.
  • Bugs that occur while trying to use certain functionalities.

For example: I was trying to implement WebP for one of our clients, after having struggled with the plugin of our choosing due to bugs within core functions I finally got it to work after implementing some changes within the plugin. Then finding out that the caching plugin that is being used by the website(and many other client websites of us) does not support the dynamic function which detects whether a browser even supports WebP or not.

I’m not trying to get an answer to the problem described in the last paragraph but I would like to know:

  • How you guys tackle the problem of having to work with plugins in general, working with multiple plugins and their malfunctions when combining them.
  • At what point you decide to build the functionality yourself instead of using a plugin.
  • When receiving requests from the client that require you to either add a new plugin or a new piece of code which hooks into almost the same element. How do you keep in mind the longterm of a website instead of looking at whether it’s more cost efficient in the short term. For example we have a client that wanted us to implement discount coupons that were only available for certain user_roles. And there were already certain discount rules being applied to those user_roles. Then they wanted invoices specifically for those user_roles. Shipping costs that are different based on user_role, location and the checkout total.

3 Answers
3

Experiencing plugin incompatibilies isn’t something I can relate to very well as that is something I’ve only faced a handful of times over the past years.

On those few occasions that I’ve needed to build a site using multiple plugins I’ve prioritized using plugins from same authors. For example WooCommerce and its official addons. I’ve found this minimizes the risk of plugins not playing nicely together. I also try to do some research beforehand to find out, if the author or other users have reported any incompatibilites.

And in general I tend to use known, tried and tested plugins, that I know they won’t cause any problems. In the case of minor problems I might fix it myself and submit the patch to the plugin author. If there are any major problems, I usually just try find another plugin that gets the same job done.

Regarding building functionalities myself. If the functionality takes only few lines of code (extra user profile fields, WooC checkout fields..), it’s something very site specific (CPTs, metaboxes..) or there’s no need for any UI, I do it myself. On few occasions I’ve “cloned” plugin functionalities to a custom plugin, because I didn’t like the way the plugin was done originally or it had unnecessary features.

Coding functionalities myself also depends on the case and client. I discuss a client about the existing plugins and their pros, cons and limitations. If a existing plugins is good enough and it’s ok with the client, I usually go with it.

Leave a Comment