Il CSS non si aggiorna nel browser quando lo modifico

23 lug 2013, 16:08:08
Visualizzazioni: 101K
Voti: 25

Sto lavorando sul CSS del mio sito WordPress. Quando apporto modifiche e aggiorno la pagina, le modifiche non vengono visualizzate. Anche quando cancello la cronologia e la cache del browser, le modifiche non si vedono ancora. Quando visualizzo il codice sorgente della pagina e guardo il file CSS, mostra ancora il vecchio contenuto precedente alla modifica. Come posso fare per far aggiornare il CSS in modo da poter sviluppare?

5
Commenti

Hai un plugin di caching attivo? I tuoi file CSS potrebbero essere memorizzati nella cache sul server.

Pat J Pat J
23 lug 2013 16:09:59

Sembra che non abbia un plugin di caching.

David Tunnell David Tunnell
23 lug 2013 16:12:24

Funziona se non usi WordPress? Ad esempio, un file chiamato test.html e un file .css associato?

Pat J Pat J
23 lug 2013 18:02:41

Se una delle risposte ti ha aiutato a risolvere il problema, assicurati di accettarla!

mrwweb mrwweb
27 ago 2014 02:25:03

Risposta breve: Modifica Version nello style.css del tema che stai utilizzando ogni volta che apporti una modifica e ricarica la pagina.

Yergalem Yergalem
6 nov 2023 18:19:46
Tutte le risposte alla domanda 12
1
22

Aggiungi un numero di versione casuale alla fine del file CSS che stai includendo. Se stai utilizzando le funzioni 'wp_enqueue_style' o wp_register_style, passa un numero casuale (versione) rand(111,9999) come quarto parametro. Se stai includendo il CSS come tag html, dovresti aggiungere "?ver=<?php echo rand(111,999)?>" alla fine del nome del file. Ecco degli esempi:

wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), rand(111,9999), 'all' );

oppure

<link rel="stylesheet" type="text/css" href="http://website.com/css/custom-style.css?ver=<?php echo rand(111,999)?>">

Questo eviterà la cache sul lato client e possibilmente anche la cache del server.

23 lug 2013 19:11:15
Commenti

Quale file contiene queste funzioni per poter effettuare la modifica?

Sam Sam
4 ott 2021 22:37:08
2
10

So che questo post ha più di un anno, ma volevo segnalare che CloudFlare memorizza nella cache file statici come css, js e immagini per favorire tempi di caricamento più rapidi. Una cosa che ho impiegato ore a capire, dato che avevo problemi con le modifiche al css che non si riflettevano al ricaricamento. CloudFlare ha una modalità di sviluppo che puoi attivare per 3 ore. Se dimentichi di attivarla prima di iniziare a fare modifiche, puoi svuotare la cache dalla gestione di CloudFlare.

20 set 2014 15:48:29
Commenti

CloudFlare ritiene che se c'è ?ver= allora il file non può essere aggiornato.

Artem P Artem P
20 apr 2016 13:40:20

Mi stai dicendo che ogni volta che faccio una modifica al CSS o al javascript, devo svuotare la cache di Cloudfare? Cosa fa esattamente questa modalità sviluppo? Grazie

Tanvir Tanvir
3 lug 2017 17:31:35
1

Anch'io ho questo problema e ho provato la soluzione più votata qui ma non ha funzionato. Puoi fare semplici trucchi come ho fatto io.

Sovrascrivi il CSS che vuoi modificare in Theme > Personalizza > CSS personalizzato nel tuo pannello di controllo.

Alla fine il CSS verrà aggiornato. Poi potrai eliminarlo di nuovo.

2 mar 2021 04:42:47
Commenti

Questa è sicuramente la soluzione più pulita se non hai troppe modifiche da apportare.

Alexis Wilke Alexis Wilke
25 gen 2022 20:05:21
2

Per favore modifica la versione in cima al file style.css (posizione ..wp-content\themes\nome_tema\style.css) con una più recente.

/*
Theme Name: SF TEST
Version: 1.0.1
*/

Ad esempio da 1.0 a 1.1 o 1.0.1.

inoltre, modifica la versione nel file function.php per quel file CSS

wp_enqueue_style('style', get_template_directory_uri() . "/assets/css/style.css", array(), '1.0', 'all');

qui cambia '1.0' con una versione più recente come '1.1'

8 set 2021 07:40:24
Commenti

Puoi fornire un esempio di come e dove modificare questo nel file functions.php?

Sam Sam
4 ott 2021 22:49:50

wp_enqueue_style('style', get_template_directory_uri() . "/assets/css/style.css", array(), '1.0', 'all'); qui cambia 1.0 in una versione più recente come 1.1

SF007 SF007
28 ott 2021 12:48:18
0

È possibile che il tuo host utilizzi qualcosa come Varnish per memorizzare nella cache l'output del tuo sito. Mi è capitato con un sito di un cliente ospitato su un account di hosting condiviso a basso costo. L'unico rimedio che ho trovato è stato quello di avere pazienza.

23 lug 2013 18:49:24
0

Se stai utilizzando un child theme, potrebbe essere necessario accodare il foglio di stile del child theme per visualizzare immediatamente le modifiche. Questa soluzione ha risolto il mio problema.

9 nov 2018 13:35:17
0

Voglio solo sottolineare - assicurati di prestare attenzione a qualsiasi plugin di caching che hai installato. WP Fastest Cache, ad esempio, può causare questo problema se non ricordi di accedere alla dashboard di WP e cliccare su "Clear Cache --> Delete Cache and Minified CSS / JS" nel menu di navigazione in alto.

9 giu 2019 00:47:50
0

Questo potrebbe essere vecchio. Ma ho bisogno di supportare qualcuno che potrebbe cercare aiuto. Ho avuto lo stesso problema e ho controllato i miei plugin. C'era il plugin "w3 total cache" che velocizza il caricamento. Si tratta di un plugin di cache lato server, quindi l'ho disabilitato. Le modifiche al css sono nuovamente visibili in tempo reale. Ci sono molti plugin per velocizzare il caricamento. Quindi controlla la lista dei tuoi plugin e disabilitali finché non completi lo sviluppo.

19 set 2019 13:27:20
3

Modifica questo secondo le tue esigenze, funziona perfettamente e genera un numero di versione casuale ogni volta che ricarichi la pagina, ideale per lo sviluppo:

wp_enqueue_style('mypluginstyle',  plugins_url('/assets/mystyle.css', __FILE__), array(), rand(111,9999) );
4 lug 2021 10:36:10
Commenti

Penso sia la stessa cosa della risposta accettata, no?

Rup Rup
4 lug 2021 16:39:17

@Rup sì grazie, non avevo visto bene l'esempio

Odonga Brian Odonga Brian
5 lug 2021 19:01:57

E come nella risposta accettata non dici quale file bisogna modificare...

Alexis Wilke Alexis Wilke
25 gen 2022 19:58:44
0

So che questa domanda ha già una risposta accettata che funziona bene, ma volevo menzionare un'altra soluzione che è un po' più semplice.

Quando si esegue l'enqueue, utilizza la funzione PHP time() per ottenere l'ora corrente e usarla come versione. Il tuo enqueue sarà simile a questo:

wp_enqueue_style( 'my-custom-style', get_template_directory_uri() . '/style.css', array(), time() );

E se stai caricando il foglio di stile con html, il tuo codice sarà così:

<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri ?>/style.css?ver=<?php echo time() ?>">
17 dic 2021 17:14:25
0

Non sono sicuro del perché nessuno abbia postato questa soluzione. Si ottiene un timestamp Unix dell'ultima modifica del file - quindi se non sono state apportate modifiche - la cache del browser/CDN può essere mantenuta.

wp_enqueue_style(
    'nome_stile', // Nome del foglio di stile.
    get_stylesheet_directory_uri() . '/style.css', // URL completo del foglio di stile.
    array(), // Dipendenze.
    filemtime( get_stylesheet_directory() . '/style.css' ) // Numero di versione.
);

La distinzione importante qui è che stai chiamando l'URI per la sorgente - ma la posizione della cartella per l'ora di modifica del file.

25 ott 2022 15:52:52
0
-1

Si trova nelle Impostazioni sulla Privacy del browser che stai utilizzando. Basta disattivare la sezione che dice:

Precarica pagine per una navigazione e ricerca più veloce Utilizza i cookie per ricordare le tue preferenze, anche se non visiti quelle pagine

19 mag 2020 16:13:49