Do you know what the difference is between a WordPress theme and a WordPress plugin? For the longest time I did not.
Many may say it doesn’t matter knowing which is which. But let me tell you a short story from back when I was a beginner…when knowing the difference would have helped.
When My Site Stopped Working
The first few WordPress websites I built, I honestly didn’t have a clue what I was doing. Around this time, I started building a real estate website.
I first went searching for a WordPress theme that was made for real estate websites and found a perfect one: it was only $50, had a visual drag and drop editor (so I didn’t have to mess with any code), had built-in sliders, and even had a way for the user to input real estate listings.
I spent an entire month fine tuning each and every aspect of that site so it looked perfect. When I turned it over to the client, they were extremely happy.
About six months later, they came back asking if it was possible to change the theme; they had rebranded their company and wanted the website to reflect their new look.
“Sure, that’s no problem,” I naively said. “Should take me less than an hour to switch out themes.”
But once I switched themes, I ran into a huge problem: all the work I had done in the drag-and-drop editor turned into some strange code I later learned were shortcodes. All of the sliders I had built just disappeared. And those real estate listings… gone.
If I switched back to the old theme, everything came back. But there was no simple way for me to switch themes without a ton of additional work rebuilding the site.
Why You Need to Know the Difference
Even if you aren’t a hardcore developer, even if you are just getting started with WordPress, you want to understand the difference between a theme and a plugin so you don’t get stuck in the same situation I did.
What I’ll be covering in this article are considered best practices in the WordPress community. They are guidelines. And like any guideline, there is a time and place to go outside the guidelines.
But before you do, you need to understand them and what will happen when you don’t follow them.
So let’s jump in to this discussion by first exploring what WordPress themes do.
What Is a Theme?
If we were to compare a WordPress website to a car, the theme is like the car’s exterior. It controls the visual aspect of your website: the design, colors, layouts, etc.
My favorite technical description of a WordPress theme comes from Mick Olinik. He says the theme controls the “Display Logic.”
In essence, the theme takes all the information that is stored on your site (posts, pages, sidebars, etc.) and determines how to organize and display it to your visitors.
For instance, if we have a blog page, the theme will control the look of the header and footer, and also determine how each post is displayed: Should each have an image? Should there be an author name with a date? How large should each title be? What color should the title be?
An example of a theme is the Twenty Fifteen theme, which you’ll find in almost every new WordPress install.
Now that we know about themes, let’s discuss plugins.
What Is a Plugin?
Returning to the car metaphor, if the theme is like the exterior of the car, think of plugins as the add-ons and modifications to your car: a GPS system, a bigger engine, heated seats.
Plugins are essentially extensions of WordPress. They take the core WordPress software, and change, enhance, add, or remove functionality.
The easiest way to understand plugins is to take a look at some examples.
In the core WordPress software, there is no way to add a contact form without adding custom code. But, you can use a plugin like Contact Form 7 to be able to create forms and add them to pages. This plugin is adding functionality to the WordPress software.
An example of a plugin that removes functionality is the Remove Admin Bar plugin. When you are logged in to your website and visit the front end, you will notice an admin bar at the top of your site. This is a default functionality, but some people don’t want the admin bar to appear on the front end. So this plugin removes it.
So to recap, the plugins affect the functionality of your site, while themes affect the visual appearance of your site.
Now that you know the difference between a plugin and theme, let me show you some exceptions to these “rules.”
Blurred Lines
Sometimes you’ll find plugins that affect the visual appearance of your site, and you’ll find themes that affect your site’s functionality.
For instance, the popular Design Palette Pro plugin allows you to customize the appearance of any Genesis powered website.
Also, many real estate themes add functionality to your site that allow agents to add listings to their site.
I don’t think there is anything wrong in using plugins that affect the visual appearance, or using themes that affect the site functionality. But I do think you need to be aware of the consequences.
For instance, look at what happened to me when I used a theme that had listing functionality built in. I wasn’t able to move to another theme. There may, however be a time and instance where the project calls for you to use themes like this.
Usually you’ll be fine using plugins that affect the visual appearance, but you’ll ideally want to find a theme that only controls appearance and leaves the functionality to plugins.
In real estate themes, StudioPress handles this perfectly. Their AgentPress Pro Theme alters only the visual appearance of the site. If you want to add real estate listing functionality, you need to use their AgentPress Listings plugin. This way, if a user decides to switch themes, they won’t lose the listings functionality.
Where Can You Find Great Themes and Plugins?
WordPress.org has directories for free themes and plugins that follow best practices.
You can find the Theme Directory here: https://wordpress.org/themes/
And you can find the Plugin Directory here: https://wordpress.org/plugins/
If you are getting a premium theme or plugin, be sure to test it out and make sure that it follows the best practices by keeping functionality in the plugin, and not the theme.
If you have any thoughts or questions, I’d love to hear them in the comments below!
12 Comments