Saved, still stale
WoodMart CSS Not Updating: Find the Stylesheet That Did Not Get the Memo
WoodMart turns your Theme Settings and every saved header into stylesheet files on disk. That makes pages faster and adds one more copy of your design for something to hold onto. When a new color refuses to appear, the job is finding which copy is still being handed out, and to whom.
October 17, 2026 · 8 min read
The short answer
When WoodMart CSS is not updating, press Save options in Theme Settings or Save header in the Header Builder so the theme rewrites its generated stylesheet, then purge the caching plugin, the host cache and the CDN, in that order. If the generated file still holds old rules, confirm WordPress can write to the uploads folder without asking for FTP credentials.
On this page
- Saved in the panel, unchanged at the till
- Where each kind of WoodMart style is kept
- Filenames that change and caches that remember
- When WoodMart cannot write the file at all
- Rules that are working exactly as written
- Getting fresh WoodMart styles to every visitor
- A style change routine for everyone with a login
- When a color change needs a purge ritual
Saved in the panel, unchanged at the till
The owner changes the button color in Theme Settings, presses Save options and reloads the shop. Same old color. Or a rule pasted into Custom CSS works on the phone and nowhere else. Or the header comes back looking like a bulleted list after a cache purge. These are different faults with one root: more than one copy of your styles exists, and the wrong one is winning.
- The change shows for you but not for customers. You are logged in and bypass the page cache; they are not.
- Custom CSS is ignored entirely. The rule never made it into the generated file, or something more specific beats it.
- A mobile-only rule does nothing on desktop. That may be correct: WoodMart's Custom CSS has device-specific boxes.
- Header styles revert or vanish. A cached page is pointing at an older header stylesheet.
- Builder sections stay old while theme colors update. Elementor or WPBakery keep their own styles, apart from WoodMart's.
Where each kind of WoodMart style is kept
The Theme Settings docs list Custom CSS as a place to add global or device-specific rules, and tell you to clear your caching plugin after changing anything that affects design or loaded assets. The vendor's support forum fills in the rest: saving Theme Settings or a header writes a CSS file into the uploads folder, with names beginning xts-theme_settings_default and xts-header.
| Where it ends up | What refreshes it | |
|---|---|---|
| Theme Settings colors, typography, buttons | Generated stylesheet in uploads | Save options |
| Custom CSS in Theme Settings | Compiled with the Theme Settings stylesheet, per vendor forum threads | Save options |
| Each saved header | Its own generated stylesheet in uploads | Save header |
| WoodMart element styles | Theme files loaded per page, by the vendor's account | Theme and WoodMart Core updates |
| Elementor designs | Elementor's own files and data | Elementor > Tools, Clear Files & Data in recent versions |
| WPBakery custom CSS | Saved with the page | Updating that page |
| Child theme style.css | The child theme folder | Browser and CDN cache expiry, or a version bump |
Read the table as a map of who to blame. A Theme Settings color that will not change is almost never an Elementor problem, and an Elementor section stuck in last week's palette will not be fixed by saving Theme Settings ten times.
Filenames that change and caches that remember
Here is the wrinkle that makes WoodMart different from themes that print styles inline. When the theme rewrites a generated stylesheet, the file's name can change, and the vendor's staff have said the old file is removed when the new one is written. A page cached before the save still asks for the old name. The browser gets a 404, and the visitor sees either the previous styles from their own cache or no styles at all.
That is why xtemos staff told one forum user to clear the cache each time they save a header or Theme Settings. The order matters. The caching plugin holds page HTML, the host may hold another copy on the server, a CDN holds copies near each visitor, and an optimization plugin may hold a combined or minified version of the stylesheet itself. Purge from the inside out so an outer layer does not refill itself from a stale inner one.
Saving the color takes one click. Delivering it can take four purges.
When WoodMart cannot write the file at all
Sometimes no cache is involved. The generated file simply never changes. In one thread on the vendor's forum, custom CSS stopped reaching the xts-theme_settings_default file even after saves and full cache clears. Support traced it to WordPress asking for FTP credentials before writing files, despite correct permissions, and fixed it with a one-line filter in the child theme that tells WordPress to use direct filesystem access.
Treat that as a diagnosis, not a snippet to paste on sight. The test is simple: note the modified time of the generated file in uploads, save Theme Settings, and look again. If the time does not move, ask your host whether WordPress can write to wp-content/uploads directly. Migrations cause the same symptom when the uploads folder was not copied or still refers to the old domain, and the guide to theme CSS not loading covers that delivery side.
Rules that are working exactly as written
A fair share of stale CSS reports are not stale at all. The rule arrived and lost an argument. Before purging anything else, open the browser's inspector, select the element and see whether your rule appears crossed out.
- Device boxes. A rule placed in one of the device-specific Custom CSS areas applies only to that device range, by design.
- Theme Settings presets. A preset with Inherit disabled overrides the global value on pages its conditions match, so a color can change everywhere except the shop.
- Builder styles. An Elementor or WPBakery element with its own color set beats the theme's global button color.
- Specificity. WoodMart's selectors can be more specific than a short rule like a.button, so the theme wins.
- Updates. A theme update can rename classes your rules targeted. WoodMart update problems covers what else changes when theme and Core move.
Getting fresh WoodMart styles to every visitor
- 1
Inspect before purging
In a private window, inspect the element. If your rule is present but overridden, fix the rule, the preset or the builder setting instead of the cache.
- 2
Regenerate the right file
Press Save options in Theme Settings for colors, typography and Custom CSS. Press Save header for header styles. Use Elementor's own tool for Elementor designs.
- 3
Check the file actually changed
Look at the generated stylesheet's modified time in uploads, or open it and search for your new rule. If it did not change, investigate filesystem access before anything else.
- 4
Purge from the inside out
Clear the optimization plugin's CSS cache, then the page cache, then the host's server cache, then the CDN.
- 5
Test as a stranger
Load the page logged out, in a private window, on mobile data. That is the view your customers get.
- 6
Turn off CSS combining if it keeps happening
If an optimizer bundles WoodMart's files, every save risks a mismatch. The theme already loads styles per page, per the vendor, so combining adds little.
A style change routine for everyone with a login
Stale styles are mostly a process problem. Two people edit, one purges, one does not, and the store shows a mix. Write the routine down once.
- Global look in Theme Settings, page exceptions in presets, element tweaks in the builder. One home for each kind of change.
- Custom CSS in Theme Settings or a child theme, never in parent theme files, which the next update replaces.
- One person purges, in one order, after every save that changes appearance.
- Test on staging first when the change touches the header, checkout or anything sold on paid traffic.
Our hosting and maintenance plans include that routine, and the WoodMart repair hub lists the store faults we see most. For the theme's speed settings, including how it loads CSS per page, read WoodMart speed.
When a color change needs a purge ritual
On a WoodMart store, one color change can touch Theme Settings, a generated file, a page cache, a host cache, a CDN and maybe an optimizer. None of them is broken. They simply do not know about each other, and you are the messenger. That is the stack, not the theme.
A Next.js build compiles styles once, at build time, into files whose names change with their content. A deploy publishes new pages and new files together, so a page can never ask for a stylesheet that no longer exists. It costs more to build and needs a developer for design changes. WoodMart vs Next.js lays out the trade, WoodMart to Next.js covers the move, and the WoodMart review is the fair case for staying. Fonts behaving oddly too? See WoodMart fonts not loading. For a hand with it, our theme troubleshooting service starts with a staging copy, and the rest of the troubleshooting section covers other themes.
Questions people ask before they call
In the WordPress uploads folder. Saving Theme Settings writes a stylesheet, and each saved header gets its own; on the vendor's support forum these appear with names starting xts-theme_settings_default and xts-header. Do not edit them by hand. Change the settings and save again, and the theme rewrites them.
Yes, if you use page caching. WoodMart's docs say to clear your caching plugin after changes that affect design or loaded assets, and the vendor's staff have given the same advice for header saves. A cached page can keep pointing at a stylesheet that has been replaced.
WoodMart's Custom CSS section has global and device-specific areas. A rule placed in a device-specific box applies only to that device range. Move rules that should apply everywhere into the global box, save, and clear your caches. See CSS changes not showing for the general case.
We usually do not. WoodMart already loads styles per page, according to the vendor, and a combined bundle has to be rebuilt every time a generated file changes, which is a common source of stale or missing styles. If you do combine, purge the optimizer's cache after every save.
Not if it lives in Theme Settings Custom CSS or a child theme. Edits made directly to the parent theme's files are replaced by updates. An update can still change class names your rules target, so check key pages after updating.
Keep reading
- Missing at the topWoodMart Header Not Showing: Find the Setting That Outranked Your HeaderWoodMart header missing on one page, on products or everywhere? Check Disable header, per-page headers, Theme Settings presets and the overlap option.
- Typeface gone missingWoodMart Fonts Not Loading: The Local Copy, the Google Leftovers and the Empty IconsWoodMart fonts not loading or still coming from Google? Check the Status page, fonts set in your page builder, presets and icon fonts blocked by CORS.
- Tuning a WoodMart storeWoodMart Speed Optimization: The Performance Drawers, the Filters and a Faster CheckoutWoodMart speed optimization: Preload LCP Image, local fonts, lazy loading, swatches, AJAX filters, cart and checkout, in order for a faster WooCommerce store.
- 1,024 pixels and belowWoodMart Mobile Menu Not Working: Start With the Header Nobody CheckedWoodMart mobile menu not opening, empty or showing the wrong links? Check the mobile header layout, the Mobile Side Menu location and script delay.
- WooCommerce theme reviewWoodMart Theme Review (2026): A Store in a Box, Judged by Store Owners' RulesWoodMart review for WooCommerce owners: the $69 license, built-in store tools, builder choice, speed claims, server needs, faults, and who should skip it.
- The WooCommerce heavyweightWoodMart vs Next.js: A Feature-Packed Store Theme Against a Custom BuildWoodMart vs Next.js for WooCommerce stores: built-in filters and swatches against a custom build, with license math, failure points and a verdict.
- Everything in WordPress TroubleshootingSee the section
See your WoodMart changes live, everywhere
Tell us what you changed and where it is not showing. We will find the stale copy, fix the cause and leave you a purge routine your team can follow.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.