As the WordPress platform has evolved over the 10 years it has existed, so have the way websites function; and because of this, WordPress themes are developed in different ways.
5 years ago when WordPress was used almost entirely as a blogging platform it was very common to be able to simply install the theme you liked the most and start blogging. While this can still be the case for standard blogs, it is far from the case for the full scale application type themes we strive to create at Astoundify.
Just as before when a standard blog theme only controlled how your blog posts appear, a theme should still do the same thing. “This is about separation of concerns. Themes should be responsible for the look and feel of a website, while plugins take care of the functionality. This is precisely why the two exist.”  However, today’s websites are much more advanced in the terms of functionality offered. This does not change the role of a WordPress theme. Because of this, the functionality is moved to a separate entity: a plugin. Envato explains the benefits of this very clearly:
Moving functionality from the theme to a plugin allows for modularity and portability, which has advantages for both customers and authors:
- For the customer, by using a plugin, it’s simpler to enable and disable functionality as needed while still using the same theme. They can also switch themes without fear that the data they’ve spent hours entering into a custom post type is going to vanish from sight.
- For the author, it’s simpler to use the same piece of functionality across multiple themes. Building functionality for a particular niche is no easy task, and this makes using that functionality with multiple designs easier.
Allowing Astoundify to be Better
If we (Astoundify) were to try to create our themes without the use of existing plugin solutions we simply would not exist. There is no sustainable way to develop all the functionality needed for our themes while still being able to sell at a competitive price.
Being able to focus solely on the theme itself and not the functionality that powers it allows Astoundify to really focus our attention on creating beautiful and usable products. Plugins themselves can often times be very barebones, so we really pride ourselves in being able to present them in an easy to use and simple way. Having to build the entire system out ourselves would not afford us the opportunity to focus our efforts in this way.
Allowing YOU to Create a Better Site
The issue with picking a theme that has everything “built in” is that you are stuck with that theme, and restricted to the options it affords out of the box. While on the surface you may see 500 options as a huge advantage and figure you’ll never need another theme again, this is usually not the case. As mentioned previously, WordPress is 10 years old. The chances are very high that sometime in the next 10 years (more than likely in the next two or three) you will want to update your website. All of these sudden you’re stuck with content that is non-transferable; whether it’s through auto-generated shortcodes, custom data entered directly to the theme, or custom CSS applied to the theme options.
By compartmentalizing as much as possible you are creating fewer headaches for yourself in the future. If you don’t need a certain aspect in your website the next time you update simply deactivate it. If you install a new theme your Google Analytics code will still be output since it wasn’t tied directly to the theme. If a payment gateway is no longer a viable option for you simply deactivate it and install a new one. None of these would be nearly as simple if you had every aspect of your site based around and linked to your theme.
Your theme is one very small aspect of your website. Basing everything inside your theme is like trying to create a reverse human pyramid. There are way too many moving parts above the base; and once one single layer of the base fails the entire system will. By building a solid base from separate and independent parts you can create a stable infrastructure where removing one item will not cause a complete failure.
“This is about separation of concerns. Themes should be responsible for the look and feel of a website, while plugins take care of the functionality. This is precisely why the two exist.”