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.