I am working on the CSS of my wordpress site. When I make changes and refresh the page the changes are not reflected. When I clear the browser history and cache the changes are still reflected. When I view the source code of the page and look at the css file it has the old content before the change. How do I get this to update so I can develop?
12 comments
Comments are closed.
Add a random version number at the end of the css file you are attaching. If you are using ‘wp_enqueue_style‘ or wp_register_style functions, pass a random (version) number
rand(111,9999)
to 4th parameter. If you are attaching css as an html tag, you should add “?ver=<?php echo rand(111,999)?>
” at the end of the file name. Examples are hereor
It will avoid caching on client end caching and possibly server caching too.
I know this post is over a year old but I thought I would mention that CloudFlare caches static files such as css, js and images to aid in faster loading times. Something I just took hours to figure out, since I was having issues with my css changes not reflecting on reloading. CloudFlare has Development mode that you can enable for 3hrs. If you forget to enable it before you start making modifications then you can purge cache from cloudflare management.
I have this problem too and had tried the most voted solution here but didn’t work. You can do simple tricks like I did.
Override the css you want to change into Themes > Customize > Custom CSS in your dashboard.
Eventually the css will be updated. Then you can delete it again.
It is possible that your host is using something like Varnish to cache your site’s output. I ran into this with a client’s site hosted on a cut-rate shared hosting account. The only remedy I found was to just be patient.
If you are using a child theme, its possible that you need to enqueue the child theme stylesheet in order to see the changes immediately. This solved my issue.
Just want to point out – be sure to be mindful of any caching plugins that you have installed. WP Fastest Cache, for example, can create this problem if you don’t remember to log into the WP dashboard and click on “Clear Cache –> Delete Cache and Minified CSS / JS” up in the nav menu.
This maybe old. But I need to support someone who may looking for a help. I had the same problem and I checked my plugins. There was “w3 total cache” plugin that speedsup loading. That is server side cache plugin so I disabled it. The css changes are visible again realtime.
There are lot of loading booster plugins. So check your plugin list and disable them until you finish the development.
Modify this according to your need, works like a charm, generates random version number each time you reload the page, perfect for development :
Please change the version in top of
style.css
file (location..wp-contentthemestheme_namestyle.css
) to a newer.Like this 1.0 to 1.1 or 1.0.1.
also, change the version in fuction.php file for that CSS file
here change ‘1.0’ to newer version like ‘1.1’
I know this question already has an accepted answer that works fine, but I wanted to mention another solution that’s a little simpler.
When enqueue-ing, use the PHP function
time()
to grab the current time and use it as the version. You’re enqueue will look something like this:And if you’re loading the stylesheet with html, your code will look like this:
Not sure why nobody has posted this solution. You get a unix timestamp of the file modified time – so if you’ve made no changes – the browser / CDN cache can be retained.
The important distinction here is that you’re calling the URI for the source – but the folder location for the file modified time.
It is on the Privacy Settings of the browser that you are using. just turn off the section that said:
Preload pages for faster browsing and searching
Uses cookies to remember your preferences, even if you donât visit those pages