One of the frustrating things about using free themes from the wordpress.org directory is that upgrading to a pro version means that you will have a 99% chance you will have to make notes of all your customizer settings. How WordPress checks for updates for plugins and themes from the wordpress.org website repository means you need to be aware of a few things, but hopefully I can help with the process with the least amount of work.
It’s Great to Have Free Themes
Don’t get me wrong, it’s great to offer free themes at WordPress, because it gives back to the community and it also gives people an opportunity to explore WordPress without making costly mistakes when they building a website. If a theme doesn’t work out, you go back and find another one to try out. The same goes for plugins too!
Theme sites, such as Shaped Pixels, sometimes offer both free and paid versions of themes. Free themes gives end-users an opportunity to use them while others may opt in for the premium version to get more features.
Updating Free Themes is Easy!
Another great feature using themes from WordPress.org is that updating is very easy. When WordPress checks the theme repository for updates, it compares the latest version to the one you have installed (active or not) and if it finds an update, you get an update notice in your dashboard for you to click “Update“.
How WordPress Checks for Theme Updates
For most people that do not know how the Update works, more specifically, for themes, this process happens in the background. As a theme developer, even I was curious, so I went into the WordPress Slack Chat (a type of chat room) and asked the core WordPress developers how WordPress checks for theme updates, so this is how it goes…
- WordPress checks for theme updates based on the folder name of the theme you are using and then looks in the repository (a type of storage) to see if a theme matching the theme folder you have exists. When it finds one, it then checks the version number and compares it to the one you have. For example, your theme is version 1.0.0. It gets this information from the theme’s style.css file.
- When it finds an update, such as version 1.0.1, it gives you notification within your dashboard that one is available.
- You then simply click on the “Update” link for your theme.
This is an awesome method for keeping your free theme up-to-date providing that you installed it from the wordpress.org website. However, if you later decide to upgrade to a paid premium (or pro) version, then you may encounter some interesting problems!
Why this is a Problem for Pro Version Upgrades?
The reason why this can create some potential problems, relates to the folder name of your theme. Let’s use my Senses Lite theme (which is available on the wordpress.org website) as an example…
When you install Senses Lite, the folder name where the theme files are located is named “senses-lite” and is located in your WordPress themes folder here:
If you decide to get the pro version of Senses Lite (which is named Senses) and install it separately, your theme folder name and location will be here:
WordPress will see both themes as two separate individual themes whether you have one or the other activated. Now we get into the problem of what if you want to upgrade Senses lite without installing Senses separately? The idea of performing a direct upgrade is often a much preferred method because in theory, you can maintain all your customizer options and settings because the Senses theme has the same ones that the free one has….just more options and features.
So What is the Problem then?
If you were to upload Senses files to overwrite the Senses Lite files in the Senses Lite’s folder, you have the potential of losing your upgrade the next time WordPress checks for updates.
When WordPress Update checks themes, it knows you have a “senses-lite” folder, and it knows there is a “senses-lite” theme in the repository. So if it sees your theme version as 1.0.0 (which would be your Senses pro version) but it sees the updated Senses Lite is version 1.0.1, guess what is going to happen? WordPress Update will tell you that there’s an update and once you click “Update”, your pro version files that were in the “senses-lite” theme folder will get overwritten and you will lose the pro version…not to mention having some wonky looking things happening on the front of your website.
What If you did not get the theme from WordPress?
If you did not install a theme from the WordPress site, then you are in good hands because you can overwrite the existing theme files with the upgrade and everything will be OK as WordPress will not find the theme in their repository.
I’m actually considering limiting my free themes in the WordPress repository by making them available only from the Shaped Pixels website. Doing this would make it possible to upgrade your free theme to the pro theme without losing any customizer settings and options. Upgrading would appear almost seamless. For example, if I had Senses Lite only available from the Shaped Pixels site, the theme folder would be named “senses” and the pro version would also be named “senses”. There would be no conflict of themes and versions. Simple and Easy!
So How do I Upgrade my Free Version?
The reality is, the only way to upgrade your free version to a pro version is not to upgrade it, but to install the pro version as a new install and activation. This means you will need to make note of what customizer settings you currently have, things like blog styles, what elements were enabled, colours, and anything else you had set for the theme. Although in most cases, your widgets should in theory stay in their original sidebar positions because they will match what the pro version has, it’s best to make note of where each widget was published to.
When you install and activate your new pro version theme, you would have to re-enter your customizer settings.
The Good News
If you got your theme from the wordpress.org website, you have at least one option available to you. There is a plugin called “Easy Updates Manager” that lets you control what gets updated, whether it’s plugins or themes.
NOTE If you are interested in checking out one option that can manage what gets updated, look for the “Easy Updates Manager” plugin.
As I mentioned this earlier, I am considering limiting my free themes on the wordpress.org website and making them only available from the Shaped Pixels website. This means you would be able to upgrade easily and simply by overwriting the existing theme files. I will be testing this later to see how things go, and if all goes well, I will make this change for next year (2017).
Of course, if anyone has a method of upgrading a free theme from the WordPress website with a pro version without the problems mentioned in this article, I’m open to hearing your solution.