A WordPress website can be broken down into three basic components:
- Core, which is defined as the core WordPress software that you can download from WordPress.org
- Theme, which dictates how the website looks, including colors and fonts
- Plugins, which add functionality to the website not already contained within Core
Let’s take a closer look at themes and plugins.
Appearance vs. functionality
Themes should concentrate on the appearance of your website, and plugins should concentrate on adding functionality. For example, you can use WordPress’s default Twenty Sixteen theme to dictate how your website looks. You can customize it to change colors, fonts, and layouts to make it look exactly how you want it to look.
If you want to add a donation form to your website, then that’s adding functionality. For that, you can use a plugin like Give.
It’s important that we distinguish between appearance vs. functionality, because technically, you can add functionality in a theme and you can control appearance via a plugin.
I don’t recommend adding in functionality via your theme, because what if you want to switch themes in the future? Theme developers come out with awesome new themes all the time, and you may find one that serves your needs better than your current one.
If you decide to switch themes, the functionality built into that theme goes away. Sure, you could simply re-build it into the new one, but it’s much easier to simply have it in a plugin. That way, the functionality is independent of which theme you use.