This might be a pretty dumb question, but I couldn't find a straightforward answer on the forums. If I build a custom WP theme using the two Lyra guides at
/
and
/)
will I have to worry about the theme updating and losing all of my custom CSS and such? Do I have to make a child theme separate from the base theme to prevent this, or will it not update since it's my own custom theme? Say, for instance, it's modeled after a basic Bootstrap theme, will I have to worry about losing any changes to the bootstrap.css file at any time due to an update?
This might be a pretty dumb question, but I couldn't find a straightforward answer on the forums. If I build a custom WP theme using the two Lyra guides at
https://www.lyrathemes/bootstrap-wordpress-theme-tutorial-1/
and
https://www.lyrathemes/bootstrap-wordpress-theme-tutorial-2/)
will I have to worry about the theme updating and losing all of my custom CSS and such? Do I have to make a child theme separate from the base theme to prevent this, or will it not update since it's my own custom theme? Say, for instance, it's modeled after a basic Bootstrap theme, will I have to worry about losing any changes to the bootstrap.css file at any time due to an update?
Share Improve this question asked Aug 6, 2019 at 14:53 Danny JDanny J 131 silver badge3 bronze badges4 Answers
Reset to default 2No. You don't have to worry about updates.
The reason you need to worry about updates erasing changes to a theme is because when a theme is updated to a new version in WordPress the entire theme directory is replaced. This means that all files are replaced with fresh copies which won't have any of your customisations applied.
As for how and why themes are updated, this is because when a theme is released on the WordPress Theme Directory the theme's developers get the ability to update their theme, and these updates will be distributed as new versions to users of that theme. This appears as an "update available" notification in WordPress. 'Premium' themes often also implement their own update functionality that mimics this so that their developers can release new versions. So the only reason a theme is updated is because its developer chooses to release a new version. No themes are automatically updated just because a bundled library or framework is updated.
There is one caveat though. The way the updates from the theme directory work is shockingly simple: If WordPress sees a theme in the directory with the same name as your theme, but a higher version, it will see this as an update. So if you give your theme the same name as a theme in the directory, updating it could result in it being replaced by an entirely different theme. So it's important to give your theme folder a unique name, ideally prefixed with something unique to you or your business.
No, your theme will not automatically update. The themes you see getting updated are by the developers of that theme, WordPress doesn't force you to update your own theme.
As a theme developer, the updates you will need to worry about though are updates to WordPress itself and updates to plugins. Its possible that updates to those may not play nice with your theme.
There will be no updates overwriting your theme, because - as you have stated yourself - you are going to build it - probably on your own home-desktop computer or laptop.
Only themes, which are published on the WordPress Theme directory are being updated by WordPress.
Sure, in case you buy a theme from a theme-shop, and want to build stuff on top of it, it is good-practice to build a child-theme in order to prevent updates from overwriting your stuff.
You are going to build it, so you are the master of your code.
Just as an addition to the other answers, if the implementation of automatic updates is wanted later on, without uploading your theme to the WordPress repository, then the Github Updater plugin is the way to go, in my humble opinion.
A simple plugin to enable automatic updates to your GitHub, Bitbucket, GitLab, or Gitea hosted WordPress plugins, themes, and language packs. It also allows for the remote installation of plugins or themes.