Episode 039: When to use a WordPress plugin, when to build a custom plugin

No matter how you use WordPress, plugins are the best way to add functionality to a site. Chris has already wrote about when to write a plugin vs. putting it into a theme’s function file. Instead we wanted to focus on when to actually build a custom plugin as apposed to just grabbing one from the repo or from another source.

Custom WordPress Plugins

Chris, Carl, and I agreed that for the most part, a custom plugin will give you more benefit. You can build exactly what you need for your site, without bloat or additional functionality you do not need that you will get from an off-the-shelf plugin.

Can stick to your version of WordPress

Carl brought up a good point, in the enterprise realm when sometimes the WordPress application itself cannot be updated due to restrictions or requirements of the business, a custom plugin will usually keep the site from breaking. In his experience when sites are so custom (even built on WordPress) the off the shelf plugins can cause more of a headache, no matter how much you test.

I haven’t found that to be too much an issue personally, but I see the point. I think that good testing environments can keep you rolling with the punches as you update plugins making sure to keep auto updates for any plugin or even WordPress off.

Pre-Built WordPress Plugins

I think we all conceded that sometimes, it does make sense to just go ahead and download and install a plugin. Sometimes a plugin does either exactly what you need, or the dev time to recreate would take more time than just fine tuning a plugin to match what you need.

An example Chris brought up is Caldera Forms, a great form builder that all of use, in the grand scheme of things it may be easy to create a form and even connect it to WordPress with AJAX. However the amount of extra functionality you get that relates to form, form handling, and even analytics out of Caldera Forms makes it a much more efficient to just use it. Yes, you may get some stuff that you did not want or need, but in the case of Caldera Forms we all agreed that they are beneficial if used. Its not like the ThemeForest theme with 17 extra JavaScript sliders that you will never use.

Another great example is WooCommerce. I have built “cart” systems in the past when payment and shipping wasn’t really needed, however as soon as someone needed a full on e-commerce solution, I always just used WooCommerce (or other plugins prior to its creation). The payment connection to the API’s plus shipping, taxes, etc. were all going to take me way too long to recreate custom versus just fine tuning WooCommerce to meet the clients’ needs.

Tangent of WordPress LTS

This was an interesting side conversation we had that Carl brought up. Other PHP frameworks like Laravel and Symfony both have LTS or Long Term Support versions, basically a stable release which only gets security patches or minor updates, and this version would last a lot longer. Right now WordPress is updated to a semi-major version (4.x) every few months. This is a pain for enterprise level which WordPress still hasn’t cracked into fully yet. An LTS version means that a large scale web application can be built with that version, knowing that no major changes will be updated into the system for a longer period of time, so it becomes more of a stable platform to work on.

It depends on the plugin

In the end, there are use cases for both downloading a plugin or installing a pre-built WordPress plugin, and that really comes down to your skill, your time available, and the functionality. The only thing I can add is that you should always think about what plugin(s) before you jump into downloading or creating, be smart about the decisions since it could potentially be something that sticks around for years.

Leave a Reply

Your email address will not be published. Required fields are marked *

  
Please enter an e-mail address

This site uses Akismet to reduce spam. Learn how your comment data is processed.