To update a WordPress theme, back up your site, open Appearance → Themes (or Dashboard → Updates), click Update Now, then test your pages. That is the short version. The long version is what keeps your design, your custom code and your sales intact when an update goes sideways, and that is what this guide covers.
You will learn how to prepare for the update, how to upgrade a theme automatically, how to manually update a WP theme over ZIP or FTP, how to keep your edits with a child theme, how to downgrade (or update) to a specific version, and how to identify a problematic theme or plugin when something breaks. At the end there is a ready-to-use 2027 maintenance roadmap.
Quick answer: update a WordPress theme in 5 steps
- Back up your files and database.
- Clone your site to a staging copy (skip only on tiny hobby sites).
- Go to Appearance → Themes, open the theme and click Update Now (or Dashboard → Updates → select theme → Update Themes).
- Test the homepage, posts, menus, forms and checkout.
- Push to live, or repeat the same update on the live site, then re-test.
Why update your WordPress theme?
A theme controls how your site looks, but it is also PHP code running on your server. Leaving it alone for months has real costs:
- Security. Vulnerabilities in themes are published publicly once they are fixed, so attackers know exactly which old versions to target. Read our WordPress security checklist, and if the worst has already happened, follow the steps in how to recover a hacked WordPress site.
- Compatibility. WordPress core, PHP and plugins keep moving. A theme that is not updated eventually throws warnings or breaks layouts with the latest core release.
- Performance. Developers regularly trim code and assets. If speed matters, compare your theme against our list of the fastest WordPress themes.
- New features and bug fixes. Block editor support, new demo layouts, accessibility fixes and WooCommerce template changes ship through updates. See what WordPress theme standards developers are expected to follow.
Which update method should you use?
Pick the method by looking at your situation, not by habit. The chart and table below send you to the right section in under ten seconds.
| Method | Best for | Difficulty | Keeps file edits? |
|---|---|---|---|
| Dashboard “Update Now” | Free themes and premium themes with a license-connected updater | Easy | No (settings only) |
| Auto-updates | Lightly customized, low-risk sites | Easy | No (settings only) |
| ZIP upload / FTP | ThemeForest, Creative Market and other marketplace themes | Medium | No |
| Child theme workflow | Any theme where you edited CSS, PHP or templates | Medium | Yes |
| Rollback to a version | An update broke something | Medium | Depends on backup |
Preparing for the update
Most failed updates fail because of skipped preparation, not because of the click itself. Do these before touching the update button:
1. Back up files and the database
You need both. A backup that only contains wp-content cannot restore your posts, orders or settings. Good options are UpdraftPlus, Duplicator, All-in-One WP Migration, or your host’s one-click backup (see our list of cloud hosting providers). Official guidance on what to save is in the WordPress backup documentation. Download a copy off the server, because a backup stored only on the site you are about to break is not much of a backup.
2. Create a staging site
A staging site is a private clone where you can break things safely. Most managed hosts offer it in one click, or you can use a plugin such as WP Staging. If you prefer to practice offline, set up WordPress on localhost or WordPress on a Mac, and keep your theme edits under version control.
3. Check the changelog and compatibility
Open the developer’s changelog or the theme details screen. Look for words like “breaking change”, “template updated”, “minimum PHP” or “requires WordPress”. If the theme now needs a newer PHP version than your server runs, upgrade PHP on staging first.
4. Document your customizations
List every place you changed something: Customizer settings, custom CSS, edited template files, snippets in functions.php (better moved into a code snippets plugin), widget areas and menus. A five-minute list saves hours later.
5. Check your current version
Go to Appearance → Themes and click your active theme; the version number is shown in the details window. You can also read the Version: line at the top of the theme’s style.css. Write it down; you will need it if you ever have to roll back.
6. Update in the right order and at the right time
Update WordPress core first, then plugins, then the theme, testing between each when the site is important. Schedule the live update for your quietest traffic hour, which you can find in your analytics.

Method 1: Automatically upgrade a theme
This is the fastest way to update a WordPress theme, and it works for every theme that ships updates through WordPress.org or a licensed updater. Premium themes sold by aThemeArt send a notification in wp-admin with an update button as soon as a new version is released.
A. One-click update from the Themes screen
- Log in to wp-admin and go to Appearance → Themes.
- If an update is available, a banner appears on the theme tile. Click the theme to read the version details and changelog.
- Click Update Now. WordPress downloads and installs the new version.
- Visit the front end of the site and test it (see the testing checklist).


B. Bulk update from Dashboard → Updates
Go to Dashboard → Updates, scroll to the Themes section, tick the themes you want, and click Update Themes. This also updates inactive themes, which matters: an unused theme with a known vulnerability is still an open door. Delete the themes you do not use, and if you are unsure how, our guide on changing, deleting and editing themes safely walks through it.
C. Turn on automatic theme updates
Open Appearance → Themes, click the theme and choose Enable auto-updates. WordPress will then install new versions in the background. Pair this with a good backup routine, and avoid it on heavily customized WooCommerce stores unless you test first.
If the toggle is missing, the developer or host may have disabled it. You can switch auto-updates on for every theme with this snippet (add it with a snippets plugin or in functions.php of a child theme):
add_filter( 'auto_update_theme', '__return_true' );
Or enable it for everything except one theme you want to handle by hand:
add_filter( 'auto_update_theme', function ( $update, $item ) {
if ( 'my-custom-theme' === $item->theme ) {
return false; // keep this one manual
}
return $update;
}, 10, 2 );
More background is in WordPress’s own notes on configuring automatic background updates and the auto-update filters.
D. Update with WP-CLI (for developers)
If you have SSH access, WP-CLI is the quickest and most repeatable option:
wp db export pre-update-backup.sql # database backup first
wp theme list --update=available # what needs updating?
wp theme update my-theme # update one theme
wp theme update --all # update every theme
Method 2: Manually update a WP theme
Marketplace themes (ThemeForest, Creative Market and similar), themes with expired licenses, and themes that you cannot see an update notice for need a manual update. You download the new version from the developer and install it yourself.
Option A: Upload the ZIP in wp-admin
- Download the latest theme ZIP from the developer or your marketplace account. If the package contains several files, upload only the actual theme ZIP, not the documentation or demo folders.
- Go to Appearance → Themes → Add New Theme → Upload Theme and choose the ZIP.
- Because a theme with that folder name already exists, WordPress shows a screen comparing the installed and uploaded versions and lets you replace the current one.
- Confirm, then test.
If the upload fails because the file is too large, see how to raise the maximum upload file size. For a first-time install, our guide on how to install a WordPress theme has the full walk-through.
Option B: Replace the theme folder via FTP/SFTP
- Get an FTP client such as FileZilla or WinSCP, and your SFTP credentials from your host.
- Connect and open
public_html/wp-content/themes/(orwww/wp-content/themes/). - Back up the current theme folder by downloading it to your computer.
- Rename the old folder on the server (for example
my-theme-old) rather than deleting it straight away. - Upload the unzipped new theme folder.
- Activate the new version in Appearance → Themes, test, and delete the
-oldfolder only after everything passes.


wp-content/themes and find your active theme’s folder.
Update a customized theme with a child theme
When you edit files inside a theme, the next update overwrites them. A child theme stores your changes separately, so the parent can update freely. WordPress loads a file from the child theme first and falls back to the parent only when the child does not have it.
Create a child theme in four files
Create a folder named my-theme-child in wp-content/themes/ (replace my-theme with your parent theme’s folder name). Add a style.css:
/*
Theme Name: My Theme Child
Template: my-theme
Version: 1.0.0
*/
/* Your custom CSS goes below */
And a functions.php that loads the parent styles:
<?php
add_action( 'wp_enqueue_scripts', 'my_child_enqueue_parent_styles' );
function my_child_enqueue_parent_styles() {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css',
array(),
wp_get_theme( get_template() )->get( 'Version' )
);
}
The Template: line must exactly match the parent folder name. If you would rather not code it, see our roundup of WordPress child theme plugins. The official reference is the WordPress child theme handbook.
Move your edits and update, step by step
- Do this on staging after a full backup. Download a copy of the edited parent theme as a reference.
- Create the child theme as shown above.
- Copy your added PHP into the child’s
functions.phpand your CSS into the child’sstyle.css. Do not copy the whole parent files. - For each template file you edited (
footer.php,single.phpand so on) copy it into the child using the same sub-folder path. - Activate the child theme and confirm the site looks identical.
- Now update the parent theme using Method 1 or Method 2.
- Test again. If a copied template looks different or errors out, compare it with the parent’s new version and merge the changes, or delete the child copy to use the parent’s file again.
What about block themes and the Site Editor?
If you use a block theme and changed templates, styles or colors in the Site Editor, those changes are saved in your database, not in theme files, so they normally survive an update. After the update, open Appearance → Editor and check your header, footer and key templates. Code-level changes to a block theme (theme.json, template files, patterns) still belong in a child theme. If you are choosing a theme with this in mind, see our list of Gutenberg-compatible themes and customizable WordPress themes.
Updating a theme on a WooCommerce store
Stores need extra care because a broken checkout costs money immediately. If your theme overrides WooCommerce templates (files inside a woocommerce/ folder in the theme), an update may ship newer template versions that conflict with them.
- Open WooCommerce → Status → System status and look at the Templates section. It lists overridden templates and flags the outdated ones.
- Keep your template overrides in a child theme, using the same path as the original, then update the parent.
- If you used custom hooks, move them to the child theme. Our WooCommerce hooks list with examples shows the safe way to do it.
- On staging, test the shop page, category pages, a product page, cart, checkout with a test payment, and the order emails.
- Check the add-ons you rely on from our essential plugins for WooCommerce list.
New to the platform? Start with what WooCommerce is, and if you are shopping for a theme, browse the best free WooCommerce themes or our premium WordPress themes, which include update notifications in wp-admin. Stores on slow servers also benefit from the fastest WooCommerce hosting options.
How to downgrade/update to a specific version
Sometimes the newest version is the problem, or you need exactly version 2.4.1 because that is what a plugin supports. You can move to any available version using one of these routes. Always test on staging first, because a downgrade can be as risky as an upgrade, and database changes from the newer version are not always reversed.
Free themes: use WP Rollback
- Install and activate WP Rollback on staging.
- Go to Appearance → Themes and click the theme thumbnail.
- Click Rollback, choose the version you want, and confirm.
- Test, then repeat the same steps on live after a fresh backup.
Premium themes: ask for the exact ZIP
- Ask the developer’s support team (or check your marketplace download history) for the ZIP of the version you need.
- Switch to a different theme, then delete the current one, or simply upload over it via FTP as shown in Method 2.
- Install the older ZIP and activate it.
WP-CLI: install a named version
wp theme update my-theme --version=2.4.1
Last resort: restore the backup
If the site is badly broken, restoring the full backup you took before updating is usually faster than debugging. This is exactly why preparation comes first. For core versions, WordPress publishes every release on its releases page, and the same staging-first rule applies.
How to identify a problematic theme or plugin
When something breaks after an update, the cause is rarely obvious. It could be the theme, a plugin that clashes with it, a caching layer or a server setting. Use this systematic order, always on staging:
Step 1: Rule out caching
Purge your cache plugin, server cache and CDN. If the problem disappears, you never had a theme issue.
Step 2: Test with a default theme
Activate a default WordPress theme (for example the latest Twenty Twenty-series theme). If the problem goes away, your theme or its interaction with a plugin is responsible. Check for a newer theme update; if none exists, report the issue to the developer and use the rollback steps above.
Step 3: Test your plugins
Deactivate all plugins, check the issue, then reactivate them one at a time until it returns. The last plugin you turned on is the conflict. On a live site, the official Health Check & Troubleshooting plugin has a troubleshooting mode that disables plugins and switches to a default theme only for your own session, so visitors are unaffected. See our must-have WordPress plugins if you are rebuilding a plugin stack.
Step 4: Read the error log
Add these lines to wp-config.php (above the “That’s all, stop editing” line) to write errors to a file without showing them to visitors:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the broken page, then open wp-content/debug.log. A line such as Fatal error: ... /wp-content/themes/my-theme/...php points to the theme; /wp-content/plugins/... points to a plugin. Turn debugging off again when you are done. The handbook page on debugging WordPress covers the options in detail, and our guides to common WordPress errors and the 500 internal server error help you read what you find.
Step 5: Identify the problematic version
Note the version you are on (call it X). If a newer version exists, update and re-test. If not, go back to the version immediately before X, test, and keep stepping back one release at a time until the issue is gone. That is the last good version, and the one the developer needs to hear about.
If you are locked out of wp-admin
Connect via FTP/SFTP and rename the folder of the suspect theme (wp-content/themes/my-theme to my-theme-off); WordPress will fall back to a default theme if one is installed. For a plugin, rename its folder inside wp-content/plugins/. Renaming deactivates it without deleting any data. If you also lost your login, use our WordPress admin password reset guide.
After the update: reapply customizations and test
- Re-check settings. Open the Customizer or theme options panel and confirm logo, colors, fonts and menus.
- Re-apply code edits from your documentation if you were not using a child theme, then plan to move them into one.
- Clear every cache (plugin, server, CDN, browser).
- Test on desktop and mobile: homepage, a blog post, a page, archives, search, 404 page, contact form, login, and checkout if you sell.
- Check the console and the speed. Open browser dev tools for red errors and run a speed test. An update that doubles load time is a regression worth reporting.
- Watch for 48 hours. Keep the backup, monitor uptime alerts and Search Console, and check our on-page SEO guide if rankings or layouts shift.
Your 2027 theme-update roadmap
Updates are easiest when they are routine. Print this plan, or copy it into your calendar for the whole year.
| When | Task | Time |
|---|---|---|
| Weekly | Look at Dashboard → Updates; read changelogs of waiting theme updates | 5 min |
| Monthly | Backup → staging update → test → live update | 30–60 min |
| Quarterly | Delete unused themes, verify a backup restore, review template overrides | 1–2 hrs |
| Yearly | Decide whether your theme is still the right one (see the latest WordPress themes, or theme providers with reliable update records) | Half a day |
Running several sites? On a Multisite network, update themes from the Network Admin dashboard and test on one sub-site first; our Multisite network guide explains how themes are shared across the network.
Common update errors and quick fixes
| Problem | Likely cause | Fix |
|---|---|---|
| “Briefly unavailable for scheduled maintenance” stays on screen | Update was interrupted | Delete the .maintenance file in your site root via FTP, then re-run the update. |
| White screen or critical error after update | Fatal PHP error in the theme or a plugin | Check debug.log, rename the theme folder via FTP, roll back or restore backup. |
| “Destination folder already exists” | Installing a ZIP over an existing theme folder | Use WordPress’s replace option when it appears, or rename the old folder first. |
| “Stylesheet is missing” on install | You uploaded the wrong ZIP (bundle, not theme) | Unzip the package and upload only the theme ZIP. |
| Upload fails or times out | Upload size or PHP time limits | Raise limits (upload size guide) or upload over FTP. |
| Layout broken, settings missing | Theme options changed or cache is stale | Clear all caches, then re-save options in the Customizer. |
| HTTP 500 error | Server-side or PHP error | See our 500 error guide. |
| Site URL or images wrong after restoring | Database still points to the staging address | Fix with changing URLs in the database. |
Frequently asked questions
Will updating a WordPress theme delete my customizations?
It can. An update replaces the parent theme’s files, so edits made directly in those files are lost. Settings saved in the Customizer, theme options or the Site Editor live in the database and normally survive. Keep code edits in a child theme to be safe.
How do I update a WordPress theme without losing anything?
Take a full backup, test the update on a staging copy, move any file edits into a child theme, then update the parent theme and test again before pushing live.
How do I update a theme automatically?
Go to Appearance → Themes, click the theme, and choose Enable auto-updates. You can also force it with the auto_update_theme filter or turn it on in your host’s dashboard.
How do I roll back to an older theme version?
Use the WP Rollback plugin for themes from WordPress.org, ask the developer for the older ZIP for premium themes, run wp theme update with the --version flag, or restore your backup.
How can I check which version of my theme I am running?
Open Appearance → Themes and click your active theme; the version number is shown in the details window. You can also read the Version: line at the top of the theme’s style.css file.
What should I do if my site breaks after a theme update?
Restore your backup or roll back the theme. If wp-admin is locked, rename the theme folder over FTP so WordPress falls back to a default theme, then enable the debug log to find the exact error.
How often should I update my WordPress theme?
Check for updates weekly and apply them monthly on staging first. Apply security releases as soon as you have tested them.
Conclusion
Updating a WordPress theme is simple when it is a process and painful when it is a gamble. Back up first, test on staging, keep your edits in a child theme, choose the right method (automatic for easy cases, manual for marketplace themes), and know how to roll back or isolate a faulty theme or plugin if something goes wrong. Follow the 2027 roadmap above and updates become a ten-minute monthly habit instead of an emergency.
Want a theme that updates cleanly, supports child themes and ships with clear changelogs? Explore our premium WordPress themes or start with a free WordPress theme, and if you ever get stuck, our support team and documentation are there to help.


manyhatsnc
Thanks for the tutorial. Loving how clear your tutorial was
Leslie Bell
This article has a list of themes that auto-update, and eMart Pro is not one of them. Before I add an auto update code snippet or manually update, would you tell me
1. what is the latest version of eMart Pro (version number, date)
2. how can I check what version I have installed?
It’s a great theme and I want to keep it up to date!
Les
aThemeArt
Hello,
Thank you for your comment! The current version is 1.1.7. When a new version is released, you’ll receive an automatic notification in your WP admin with an update button. If you have any questions or need assistance, feel free to reach out through our customer support system or email us.
Thank you!