A while back I picked up a WordPress theme which has some interesting functions baked into it. I used it for a good while but over time the appearance started to look very dated and development slowed on the theme. After a while I decided it was time to switch to a different theme but I found myself trapped. I had used some of the features (including custom post types) that we baked into the theme. By changing theme, I’d lose all those posts, some of which had great SEO value.
A similar but less dramatic situation with our church website, as we looked to update the theme we came across some functionality, including certain custom post types, that were linked to the theme. This meant that if we changed theme, we’d lose some of the settings.
This is why it is important to choose correctly when to use a theme and when to use a plugin in WordPress.
When to Use a WordPress Theme
In General, WordPress themes should be used to address the design of a site. The choice of colors, fonts and layout all make sense within a WordPress theme. This helps it to be easy to change the design of a site with just a change of theme.
When to Use a WordPress Plugin
You should use a WordPress plugin to add some extra functionality such as podcasting, a calendar, adding a shop etc…
But what about when design and function overlap?
Of course, sometimes these areas can overlap. You could argue that adding new post types should be a function, but at the same time you need to make sure that these post types are designed well and fit in too. If they just follow the style of a standard post type, they might not fit. Likewise A calendar might need to be designed to fit the style of the rest of the site.
There are ways round these issues, but having some code and design knowledge (or getting someone in who does) can go a long way to help here.
But what about theme support for plugins?
Some plugins only support certain themes. Some examples include church theme content. Or in other cases Some plugins are only supported by certain themes [A subtle but important difference] and so although the functionality and design are different, the effect can be that you are still tied into their ecosystem anyway. In some cases, a good developer will be able to help you integrate support, in other cases you may have more issues.
This Is No Guarantee
Even with all this said, this is no guarantee of future success. A plugin may become abandoned by a developer and leave you up the creak over a vital function you need for your site. Alternatively, a theme may not support a certain plugin and so you might need to search for a new option to provide the functionality you’re after with the new design. Still, by not being overly reliant on one developer for your design and functions, you can help avoid being trapped into paying a high priced subscription for a theme OR getting stuck with a bad design.