For some time now in the WordPress community, there’s been a lively debate about the pros and cons of themes adding features that are better left for plug-ins to tackle. WordPress developers are split along the lines that a theme’s natural purpose is for layout and design and a plug-in’s natural purpose is to add additional functionality, like a form builder, a slick photo gallery, or – like Radio Station and Radio Station PRO add – a series of custom post types to store data for Shows, Episodes, Hosts, and Playlists pages. We also add a continuous audio player, which is theme agnostic.
While this post on the ManagedWP blog, Ask the Experts: Should Themes Include Plugin-Style Functionality?, is over 9-years old (2012 to be exact), it’s worth reading to understand why theme developers adding plug-in functionality remains a contested issue in the WordPress developer community. Note this issue is a blind spot for non-technical people who would never know the difference. Then it’s too late.
Since Radio Station and Radio Station PRO by netmix® are powerful plug-ins that give broadcasters of all types the tools to create and manage content in WordPress, we thought we’d take a crack at this issue so many years later. While so much of WordPress has changed in the past 9-years since the ManageWP article was written, the pitfalls of buying themes with plug-in functionality still exist today.
On that note, I guess you can tell which side we’re squarely on.
What do Appliances Have to do With My Station’s Website?
I love analogies. They help explain technical concepts to non-technical people. As a digital strategist and product developer, I use analogies to help explain why things are the way they are in the hope it’s relatable. When writing this post, I came up with one that may resonate with you.
There are times in life we buy the things we need to do one thing very well. A house provides shelter from the elements and a place to raise a family. Many times, once you close the deal, you want to add features or functionality to your new asset to make it work better for you.
When you’re in the house, you might add smart appliances. These can be programmed to turn on or off at certain times, connect with other devices, or even tell you what items are running low in your refrigerator. A few years later, you see a cool new set of appliances from another brand. You decide to make the switch. But you learn after the fact you can’t transfer your preferences from the old to the new. They don’t talk to each other and maybe they never will, because there’s no good business incentive for two competing brands to have their products exchange data.
Something similar happens in the world of WordPress. Theme developers add plug-in functionality to sell you on convenience so that you buy the theme because it looks like you’re going to get an easy, install-ready package that does everything under the sun. Amazing, right?
Maybe, but here’s what you may not know.
While theme developers make you think they are doing you a favor, the reality is, they know they’re causing theme lock-in. They do this because they want you as a customer…forever! Who wouldn’t? It makes good business sense to keep you as a subscriber for as long as possible. We’d love it if Radio Station customers stayed with us for as long as possible, but we’re approaching WordPress in a different way.
With a theme with plug-in functionality, you’re stuck. It’s very hard to migrate your content into a new theme or into our plug-in, for that matter. If you have a full schedule worth of shows, it would be a lot of work to copy everything over by copy and paste instead of simply exporting from one and importing to another. You might have 50 shows and 300 episodes per show – all with descriptions, related images, and other necessary and related content.
With a plug-in, you can use any theme you want and still retain all the stuff you added to your plugin when you change your theme.
Of course, they don’t mention this fact on their sales pages, because they purposely don’t want you to know. If you stay with the theme forever, it’s good for them, but leaves you with little choice if you want to change directions.
What’s worse? Maybe the theme developer goes out of business. A lot of these theme developers are small teams and some work in faraway lands. If they shut down, you’re pretty much out of luck. The theme will never be updated and if you’re forced to migrate, then all your data is stuck in your theme.
Can you risk your data be locked into a theme forever? There’s an obvious answer.
With Radio Station, even if we were to go out of business, the plug-in might not be updated again, but at least it continues to work with any theme. You could find a developer to easily keep it updated with WordPress coding standards by forking the plugin and making it your own.
Theme lock-in presents other hidden issues
Another major issue is packaging themes with software from other developers, like page builders and sliders. For the first year, you get the page builder and the slider with the price of the theme. But the following year, the 3rd party add-ons need to be licensed directly from each individual developer. If you don’t upgrade both the theme and the packaged bundle of plug-ins, it adds to your renewal costs and makes the theme 2 to 3 times more expensive than the original purchase price.
No one told you, right?
You bought the theme, but you’re none the wiser because they don’t tell you you’re responsible for upgrading not only with them but with every other plug-in they bundle with their theme. It’s one way some plugin-in developers can joy ride on a theme’s success. Being baked into a really popular theme can bode well for a plug-in, because all of a sudden, you have customers that have to come to you for updates and support.
It’s funny some of the comments we get about the price of Radio Station PRO, but if the people who make those comments really understood what they’re getting when they try to compare Radio Station PRO with an all-in-one theme solution, they’d be surprised they’d actually pay more for a theme and all the hidden costs than for our plug-in.
Hiding upgrade costs from you for bundled services is not the most ethical business practice. But I digress. That’s an article for another day. Let’s get back to the issue at hand.
What does this mean for the non-technical station manager or marketing director?
You’re probably a non-technical station manager, marketing director, or play some other non-technical role on your station’s team. You’re asked to manage the website but it’s not your core responsibility. The day comes when you’re asked to update your station’s website. You might hire an agency, an independent web developer, or maybe you have to do it yourself.
You see a pretty theme on Theme Forest (a major aggregator of WordPress themes) for Radio Stations that costs about $69 or $79 a year as opposed to our plug-in, which is justifiably a bit on the pricier side. You think to yourself, “Great! Problem solved!” You’ll just download the theme and switch it out thinking your site will look just like that theme you purchased. Everyone will think you’re a genius.
But now you know from this blog post that themes are not interchangeable like Thomas the Train, Håpe, or Brio train tracks you buy for your kids for their birthdays. Just like the appliance analogy, it’s not a one-to-one migration. The current theme you’ve inherited and the new theme you want have very different data structures.
In addition, the theme you have may use the Beaver Builder page builder plugin, which you had to relicense a year later. But the new theme you want uses Elementor page builder, which may come free in year one, but they’ll get you in year two for an upgrade.
Now, not only do you have an issue with data stored in your current theme’s data tables that you can’t migrate, you have an issue with owning two themes with two different page builders, both of which have renewal costs, and there might be other hidden charges, as well.
If it helps to better understand the issue, here’s the technical explanation
Is it ever possible to migrate content? Yes, it is.
With SEO plugins, there’s a popular 3rd party migration plugin that helps you migrate data from one plugin to a competing plugin. It works pretty well, but in some cases, you might get most of your data over, but not all of it. It still helps tremendously. That begets the question, why can you do this with SEO plug-ins, but you can’t do the same with two distinctly different themes?
It’s because SEO plugins have a standardized set of fields all SEO plugins require based on parameters set by Google, Facebook, and Twitter among others for search engine and social media optimization.
For the most part, one-to-one matching of data doesn’t exist in the WordPress theme universe. To our knowledge, there are no Radio Station themes that would allow a one-to-one export and import of data into another theme, because unlike the world of SEO, no single entity has created a standard to map to.
If you’re going to migrate, you then need to re-add all your website content manually or hire an expert to write a script that might only be able to pull half the data because in the new theme you’re migrating to, there are no matching data tables to accept the imported data.
It might look something like this. Table 1 is on the left and Table 2 is on the right. These tables don’t match up.
This: <> means that data can go either way. From Table 1 to Table 2 or from Table 2 to Table 1.
[HOST] <> [DJ]
[HOST NICKNAME[ <> [(NULL)]
[STATION ADDRESS[ <> [STATION CITY]
In the example, HOST and DJ do not match. The HOST NICKNAME exists in Table 1, but NULL means it’s not even a data field in Table 2. It doesn’t even exist. And, the STATION ADDRESS might contain the name of the host’s city in Table 1, but Table 2 is looking for just the HOST CITY, not the full address.
Now you can see how this gets sticky very quickly.
If you tried to migrate, only some or none of the data could be matched up against, one-to-one. It would take a MySQL database developer to write some queries and generate a script to pull data from the former and place it into the latter
That’s like finding all the needles in a huge haystack and stacking them exactly as you found them somewhere else. It’s also prohibitively expensive for a lot of folks. I’ve rarely come across anyone who attempts it unless they have very deep pockets and it’s absolutely necessary.
Why is Radio Station PRO a plug-in and not a theme?
When we settled on building Radio Station and Radio Station PRO as a plug-in and not a theme with plug-in functionality, we thought about the ethics of bundling without telling the customer about the hidden costs. We also knew it was far more powerful to be theme agnostic; our plug-in could work with any theme built today and far into the future.
We also wanted to focus on the data, not the design, because ultimately the data is more valuable to your station and your listeners than the layout and design of your WordPress website. We’re working on building out the professional-grade tools that help you run your radio station. We’ll happily leave the design to others.
That’s the business choice we made and the one we’re confident in.
Okay, so maybe someday we build a theme, but it’ll just be a theme and while it will work nicely with Radio Station and Radio Station PRO, we will never marry them into one shippable product. Because we want your station to use the theme you want and not be stuck with a theme you don’t.
Is that it?
Okay, so that’s a lot of stuff to consider. We get it. But the advice is invaluable because it’s something you need to know to make an informed decision when you’re either starting out or redeveloping your radio station website on WordPress. There’s always something to know and oftentimes, there’s no one here to guide you.
Heck! Trust me, we’ve been there! As long as I’ve been working in the WordPress space, I’ve had to learn a lot by reading blog posts like this one, attend WordCamps (which we heard are coming back in 2022, by the way), or ask developers and other WordPress professionals around the world with more than a few years of experience. It doesn’t matter what content management system you’re working in, there are bound to be choices that have to made, but the best choices are made when you have good information to make them.
I hope in this post I was able to clearly articulate why a plug-in like Radio Station and Radio Station PRO are more suitable options for many radio stations. We’ll freely concede small webcasters and others may not be concerned with the issues presented here. They may want what’s quick and easy. But my 18-years of WordPress experience tells me, some day they’ll cross the bridge. When they do, they’ll wish they read this post.