Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Update a WordPress Theme without Losing Customization

Are you worried about losing your customizations when updating the theme of your WordPress website?

One of the best things about WordPress is how easy it is to customize. But unfortunately, there’s a high chance you’ll lose some of your changes when you update your theme.

In this article, we will show you how to easily update a WordPress theme without losing customization.

How to Update a WordPress Theme without Losing Customization

How Theme Updates Work in WordPress

WordPress comes with a powerful system to install updates for not just WordPress itself but for plugins and themes as well.

Your WordPress website regularly checks for updates and display them under Dashboard » Updates page.

WordPress Updates

When a theme update becomes available, you’ll also see a notification on the Appearance » Themes page.

Theme Updates

Updates are really important for the security and performance of your WordPress website. Aside from security and bug fixes, theme developers can also introduce new features with these updates.

You can simply click on the update button to install the new version.

WordPress will then download the theme package, unzip it, and replace the old files with the newer version.

This will overwrite all old theme files on your website. If you manually added custom code to your WordPress theme files, then you’ll lose those changes.

That being said, let’s take a look at which theme changes are safe and which customizations will be erased.

Which Customizations Can You Lose During Theme Update?

There are multiple ways you can customize a WordPress theme. Some of these theme customizations are safe because your changes are stored in the WordPress database itself.

Customizations You Won’t Lose During a Theme Update

You won’t lose any changes made through the built-in WordPress theme customizer which you can access by visiting Appearance » Customize page.

WordPress Theme Customizer

The theme customizer allows you to modify your WordPress theme and store all changes in the WordPress database. You can change the header image, colors, layout, custom CSS, and more.

Your WordPress widgets and navigation menus are also not affected by the theme updates.

Popular WordPress themes like Astra and Ocean WP now come with companion plugins. These plugins are used to add extra features to your theme. Any theme changes made using these companion plugins are also not affected by a theme update.

If you customize your WordPress layout using a WordPress page builder like SeedProd, Divi, or Beaver Builder, then those changes will not be impacted.

Any other features that you have added to your website using a plugin are also safe. For example, your WordPress contact forms, Google Analytics, email newsletter popups, and more.

Customizations You Will Lose During a Theme Update

What you will lose is any changes made directly to your theme’s files.

For example, you may have added code to your theme’s functions.php file or added CSS styling to your theme’s stylesheet file (style.css). These changes will be lost because the files will be overwritten when your theme is updated.

The same thing will happen if you have made changes to any of your theme’s templates, such as index.php, header.php, and footer.php. These files will also be overwritten and you will lose your changes.

Now that we know which changes will be erased, let’s talk about how to preserve them during a theme update.

Creating a Child Theme

A child theme is a WordPress theme that inherits the functionality, features, and style of another WordPress theme, the parent theme. You can then customize the child theme without making any changes to the parent theme.

Because your changes are stored in the child theme, you can safely update the parent theme without losing your customizations. In this tutorial, we’ll create a child theme and then move all of your customizations over to it.

You can create the child theme using a plugin or using code. Head over to our beginner’s guide on how to create a WordPress child theme and create one now. The theme you need to update should be the parent theme.

Don’t activate the child theme yet. We’ll do that at the end of this tutorial.

If you use the code method of creating a child theme, then you should create it in a folder on your computer. If you use the plugin method, then you will have to download the child theme folder to your computer in the next section.

Downloading Theme Folders to Your Computer

The first thing you need to do is connect to your WordPress hosting account using an FTP client.

Once connected, go to the /wp-content/themes/ folder and download your theme folder to your computer.

Download Your WordPress Theme

This folder will be the backup of your theme and customizations. Later we’ll copy your customizations from this folder into the child theme folder.

If you created a child theme using the plugin method in the previous section, then you should download its folder to your computer in the same way.

Now we need to download the update to your theme. You should visit your theme’s website and download the latest version to your computer. After that, you’ll need to locate the theme’s zip file and extract it.

You should now have three theme folders on your computer: the new updated version of your theme, the old customized version of your theme, and the child theme you just created.

Copying Customizations to the Child Theme

Next, we need to identify all of the changes you made to your theme so we can copy them over to the child theme. The easiest way to do this is by comparing your old and new theme files.

You’ll need to use file comparison software to see the difference between the new and old version of each file. We recommend Windows users use WinMerge, Mac users use Kaleidoscope, and Linux users use Meld.

Open your file comparison software and then drag the updated version of your theme in the left panel, and the old customized version in the left. The software will highlight any files that have been changed or added.

Changed Files Will Be Highlighted

With the exception of functions.php and style.css, you should copy the highlighted files in the right pane into your child theme folder.

Your child theme already has its own functions.php and style.css files so we need to deal with them differently. You’ll need to copy any changes you have made to those files, and paste them at the bottom of your child theme’s files.

First, open the updated and old versions of your functions.php file in your comparison software. You need to copy the highlighted text from the customized version and copy it to the clipboard.

Changes to the functions.php File

Next, you should paste the text at the bottom of your child theme’s functions.php file. Make sure you save the file after you have done this.

If your theme’s style.css file has been changed, then you will need to repeat the process with that file.

Uploading the Updated Theme and Child Theme Folders

After copying your changes to the child theme, you are now ready to upload the updated theme and child theme to your website.

Simply connect to your website using the FTP client and go to the /wp-content/themes/ folder. After that, you should select the updated theme folder and child theme folder and upload them to your website.

Upload Updated Theme

Your FTP client will warn you that the files with the same name already exist. You need to choose Overwrite to make sure that your old theme files are replaced by the updated versions.

Overwrite

Importing Your Theme Customizer Settings

We mentioned at the beginning of this article that any customizations made with the WordPress theme customizer are not stored in your theme, and so they have not yet been added to the child theme.

We’ll have to add them now. We’ll use a plugin to export the theme customizer settings from the parent theme and then import them into the child theme.

The first thing you need to do is install and activate the Customizer Export/Import plugin on both sites where you want to export/import. For more details, see our step by step guide on how to install a WordPress plugin.

Next, we need to export the parent theme’s customizer settings. With the parent theme still active, you need to visit the Themes » Customize page.

Export/Import Option in Customizer

You then need to click on the Export/Import panel to view its settings and then click on the Export button.

Export Customizer Settings

The plugin will now export your customizer settings and send them to your computer in a .dat file.

Next, you should activate your child theme. Simply navigate to Appearance » Themes and then click the Activate button underneath the child theme.

Click the Activate Button

After that, you need to return to Appearance » Customize page and click on the Export/Import panel.

You should click on the ‘Choose file’ button to select the file you exported earlier. You also need to check the box next to ‘Download and import image files?’ option to import header and other image files.

Import Customizer Settings

Next, you should click on the ‘Import’ button to start uploading. The plugin will now import the customizer settings from your export file.

Once it is finished, you can preview your changes in the customizer and then click on the ‘Save & Publish’ button to make those changes live.

You have now moved all of your customizations to the child theme. In the future, you will be able to update the parent theme without needing to go through these steps again.

We hope this article helped you update your WordPress theme without losing customization. If you come across any issues, then check out our guide on most common WordPress errors and how to fix them.

You may also want to check out our list of must have WordPress plugins to grow your website.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

73 CommentsLeave a Reply

  1. Hello,
    thank. you for the article. What do you think about this strategy:
    1. Clone site via cpanel
    2. Do all the updates
    3. Fix problems if necessary,
    4. If all works fine – just connect domain on this new cloned site.

    What do you think?

  2. I want to do some customisation to my theme.
    I’ve never done this before and want to know what I need to do
    to make sure that I will not lose my future updates

  3. Good article as always. Since it was written though there are a number of good child theme creator plugins (or older ones updated and now that function well). I’ve chosen for the first time to use a child theme, after years of doing stuff the hard way. We’ll see how it goes :)

  4. Hi,

    If I want to switch to using a child theme after I have already used and customised the parent theme, Is there a way to keep all my theme settings and customisations and bring them to the child theme? Hopefully that’s clear enough :)

    • It would depend on the customizations added to your site. In that case, it would be best to create a staging site to test the changes.

      Admin

  5. If you didn’t manually edit the theme’s code then you shouldn’t need to worry about this.

    Admin

  6. Hi, Thank you for the article! Quick question- if I use the customizations to update my theme do I still need to follow all of these multiple steps? I thought changes made in customizations were safe from any changes with a theme update?

  7. Thanks a lot for the clear piece of information. However, even though I have a child theme activated, when I update the theme (currently I am testing it on a staging environment) I still lose all customization. What am I doing wrong?

    Not super clear on what the update procedure should be when using a child theme. I have even tried to copy paste all code from old child theme into the new child theme in the updated environment, without any result.

    • If you’re already using a child theme then you would want to ensure anything added in your functions.php is added as a custom plugin instead to prevent losing it rather than creating an additional child theme for your current child theme.

      Admin

  8. Thank you for the information. However, I did not see the download option on my Cpanel. It’s just copy, move. I cant download the themes. I want to know if Cpanel does not have access to that.

    • You would want to reach out to your hosting provider to see if they have something custom specifically set up for their hosting.

      Admin

  9. Unfortunately I’ve just updated my wordpress theme thus overwriting all additional codes included in the functions.php file. As this was a lot of code, is there any way to recover this? Help is much appreciated.

    • Only if you or your hosting provider has a backup of the file before your update.

      Admin

  10. I’m still having trouble understanding the best thing to use overall between child themes, WordPress customizer additional css or css plugins. My question is, would there be any problem creating a child theme, even if I never end up using it, just having it there in case the need arose, and still using css customizer or css plugins. Just to cover all bases. Thanks.

    • There should be no problems with creating a child theme to have/use on your site while using the customizer or plugins depending on your preference.

      Admin

  11. I am wondering over the following: I have created a child theme to an existing theme. I have installed it, but since then I have added some changes via additional CSS. I would also like to change something in the functions.

    I want to add the CSS changes to my child theme, and then update the child theme. If I want to replace the whole child theme via WordPress dashboard, I loose all my settings (disable and remove child theme and then add new version). Could I just replace the functions.php and style.css via the FTP without loosing settings etc. or is there another way to update the child theme?

  12. Hello WP Beginner , I have made a WordPress site recently thanks all to your youtube videos. I was looking for updating my website with Google Adsense and some other edits but not figuring out how to edit them .I tried using the editor and editing the theme php files but I couldn’t edit it and it gave out some error saying uploading files through SFTP can help. Can you help me out in this matter.???

    Thanks in Advance

    Gursehaj Singh

  13. I have bought a theme in my name as a new customer, but i am trying to use it on a different site that needs the update, i have admin details and can get access to the site but struggling to link my new theme to it ?? help

  14. Once I have made customizations to my child theme will the changes transfer when I update it or will I need to back it up somehow?

  15. Hi Guys,

    If I make changes to a child theme using the WordPress Customizer or for example using the Storefront Powerpack extension (of course, for a Storefront theme) will I lose the changes when my theme is updated? I understand that when a theme is updated I lose all the customization but what about using the WordPress Customizer or Powerpack (Storefront) or Design Palette Pro (Genesis)? Thank you very much for your help!!

  16. To apply updates properly, do I first have to deactivate my child theme, and reactivate my parent theme? Or can I just apply the updates from within the activated child theme?
    Thanks.

  17. Hi guys! I always use your site for reference when having doubts about WordPress.
    And today, it seems I can’t find an answer to my question right away. Perhaps you could write a post about this thing that is going round in my head:

    What happens when you have a free wordpress theme installed in your web and the theme creators stop updating it? How does this impact the future performance and functioning of the site?

    I guess that for a few months or even years, nothing important will happen to the site an it will not be affected too much. But I wonder what happens, for example, if with new versions of WordPress there could be a danger.

    Thanks for your response!
    Esther

    • Hi Esther,

      If a theme hasn’t been updated, then you can reach out to theme authors. You can ask them if they are still maintaining the theme. If they are not planning to release an update, then you should look for another theme to switch.

      Admin

  18. Can i just directly update the theme, last time i have updated the theme, directly i just copied and and pasted my updated theme in the folder. nothing happens to my website everything was perfectly running.
    today again there is an update for my theme, i am thinking to do the same, as i have kept a copy of my customized code that i have done, so the copy and paste method will work fine. should i proceed with this steps.

  19. Hey Guys!

    I am going to have my site in other languages. Some of them are RTL such as Arabic and Farsi and some others are LTR.

    As Enfold is a translation ready theme, could you guys let me know the steps (1- 2 – 3 …) I need to take to create my website in other languages. I’ll start with Farsi.

    Thanks,
    Mike

  20. Hey,
    I have a question!!! My website is live with a wordpress theme, and I have another paid theme with me which I want to first customize the whole new theme and then making it live without disturbing my website. How can I do that? Is there any method or plugin, because I’m zero in coding extra.

  21. Hi there,

    In the WinMerge part my comparison result has left only the majority and only one right only. Nothing more. The case is that it is supposed to have identical and different files and doesn’t have any… very strange. Why is this happening? Am I doing something wrong?

  22. Hello WP Beginner Staff,
    I am slightly familiar with WordPress and lately I’ve been looking into new ways to optimize my site. I have found a coder who I actually “watched” bring a site up from a score of 70/100 on Google Pagespeed Insights to a 99/100 by going into the wordpress and editing the code.

    He did NOT use a child theme. He is new to this type of optimization and is just winging it. What happens when WP updates the site he was working on, kaboom?

    Better yet -can a child theme actually protect THIS type of work on a site? I thought it mostly protects design elements of the site. Please give your valued opinion. You guys are well trusted and I’m sure others have similar questions to this.

    Thanks!

    • If the coder made changes directly to the parent theme, then updating the theme will undo those changes. Using a child theme to make those changes would have been a better approach.

      Admin

    • Yes, it is unsafe to not update your WordPress theme. WordPress is updated regularly and often it retires old functions and replaces them with better methods. Theme authors, then apply those changes to their themes. Also your theme author may add some new features or fix some bugs, you wouldn’t be getting those as well. Lastly, if there is a security issue with the theme, then by not updating your site will remain vulnerable.

      Admin

  23. i’m about to inherit a site in which the original creator did not use a child theme. having edited the parent files instead, i cannot update the wordpress version at all, or any of the plugin updates.

    i am of course doing my research and i know i’m facing quite a bit of headache, just wondering off the top if maybe someone can save me some research time – once i determine the changes that were made to the parent theme, can i set up a child theme and fix this once and for all? or am i stuck making changes with the above method?

    • Hi Dori,

      If you don’t know what changes are made to the parent theme, you will have to first compare the original theme with the one you have installed on your website. There are file comparison tools which will help you find the differences between the original theme files and the files on your website.

      Admin

    • Only if the parent theme is one of the default theme, and there is something changed in the new version. Otherwise, customizations made in other themes will not be changed when you update WordPress. It will certainly not affect a child theme.

      WordPress also introduces new functions and regularly retires old functions. This could cause some issue with a theme or child theme but it is not that common. WordPress developers are very cautious about not breaking thousands of sites when they release a new version.

      Admin

  24. Hi all.

    I’m in the process of setting up a non-profit and I’m having an extremely frustrating problem with themes on the WordPress site. When I edit the text and then update the page it completely ruins the theme. i.e. I’m using the Pique theme which is perfect for what I want. For example, It has an “about” page and the ‘about’ text is within this artistic square above a picture with some text below. This is exactly what I want for my charity’s “about” page and I already have a great picture for the background… great… but when I edit the text and update the text randomly has moved below the picture and the theme is ruined. The text is not within the square box anymore. And all the text is no longer above the picture but below it.

    What could I be doing wrong? I am just editing the text as it is… I even tried just editing the letters within the word “about” by replacing the ‘bou’ and it still ruined the theme once previewed or updated.

    I’m using windows 7 on firefox and using the word press site linked to my domain, as frankly I do not know how to do it otherwise.

  25. I am using Free Spacious Theme, but I don’t know how to create Child theme for it?

    Please let me know, if there is any way to make Child Theme?

    Thanks.

  26. It is strange how web-buffs don’t seem to understand the real world. For most people, creating a WP website is not undertaken from scratch but from some other point. In my case, and I image in most cases, users want to change the theme of their existing site for a new one. This means all the editing instructions you have explained, don’t work properly.

    Why does WP so often miss the obvious? I can find nothing which explains how to change an existing WP theme with a newer, better theme. My WP has operated for the last four years, generating about £100k per year but now I want to completely change it with a newer, better website without it costing me an arm and a leg.

    So I get a new WP theme from WPs own theme stock. Can I change the theme with my existing one? No I can’t because the ‘View site’ doesn’t view. The menu is all jumbled up and doesn’t respond to the menu editor. The side bars don’t move and headers won’t move.

    Most importantly, SOMETHING NEVER MENTIONED by WP geeks is, CAN A NEW THEME BE CREATED WHILE THE OLD ONE IS STILL IN USE?

  27. Child themes are really flexible, but there’s a certain class of changes that the Real-Time Find and Replace plugin is good for. It lets you define rules that match html code that you can then replace with other html code. Code in this case can also just be plain text.

    The changes are non-destructive and are applied as the page is being assembled by WordPress before it is delivered to the user’s browser. And if you use caching, the changes are stored in the cached copy so there’s no performance hit.

  28. Thanks for the post. I’m trying to migrate customizations done by another developer from one theme to a different one. Since comparing differences with WinMerge won’t work for different themes, could you share any advice on viable alternatives?

  29. Hi,

    I am new to WP and I am currently working on my first website and I noticed it says I should update my theme to a new version. My question is, I didnt alter any code, i am just customizing the theme from the theme options, adding blog posts and photos etc. If I upgrade, will I lose all the customization as well or does that only refer to people who altered the code?

    Thank you,

  30. Hi people,
    Am a newbie to WP.
    am a little unsure on how to ask this, but i will try.
    I have spent the last few days designing my flatsome theme. I’ve only just noticed that it comes with a child theme.

    how do i convert over to the child theme? if i do will my files move over with me? when i get an theme update will i lose all my mods on the original them?

    cheers in advance

  31. I use Linux, recommendations on Software to compare?

    I am about to do an update, I will do a Backup first before anything.. that will include the Database, just in-case.

  32. why not just include your customised changes . if update is done, just redeclare include again and that way is simple and faster.

  33. I just tried this but failed. I have a back up and I’m willing to try again.

    My QUESTION: Should I just copy all the changes as a whole from one file into the next until it says ‘Text files are identical’? Or It doen’t have to say that before the file is okay to load?

  34. Hi Guys .
    Great site .I enjoy reading your blogs .
    Question .Im running WordPress Twent Fifteen Theme version 1.0 Can i update to 1.1 without loosing my customed changes

  35. I’ve just overwritten my customised theme by mistake. What do I do?!! I’ve not got back-up installed on wordpress. Am I in trouble?

    • Did you customize it yourself or did someone do it for you? If someone did it for you, they might have a backup.

  36. nice sharing… many ppl say you have to remember edited code. but your 2nd method is awesome

  37. To my opinion, the only effective way of keeping in track with your customizations, is working with child themes. This is a lot of work to do as described above !!

  38. I really liked that with the site specific plugin where you put all your customisations in the same place.

  39. i use winmerge 4 years ago and it’s a good software.
    Child theme is a good solution with a custom plugin to insert all custom function for filter instead to put inside function.php

Leave a Reply to Biodun Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.