CSS nu se actualizează în browser când fac modificări

23 iul. 2013, 16:08:08
Vizualizări: 101K
Voturi: 25

Lucrez la CSS-ul site-ului meu WordPress. Când fac modificări și reîmprospătez pagina, schimbările nu sunt vizibile. Când șterg istoricul și cache-ul browserului, modificările tot nu apar. Când vizualizez codul sursă al paginii și mă uit la fișierul CSS, acesta conține vechiul conținut, dinainte de modificări. Cum pot face ca acesta să se actualizeze pentru a putea dezvolta?

5
Comentarii

Aveți un plugin de caching activ? Fișierele dvs. CSS ar putea fi cache-uite pe server.

Pat J Pat J
23 iul. 2013 16:09:59

Se pare că nu am un plugin de caching.

David Tunnell David Tunnell
23 iul. 2013 16:12:24

Funcționează dacă nu folosiți WordPress? De exemplu, un fișier numit test.html și un fișier .css asociat?

Pat J Pat J
23 iul. 2013 18:02:41

Dacă oricare dintre răspunsuri te-a ajutat să rezolvi problema, te rog să îl accepți!

mrwweb mrwweb
27 aug. 2014 02:25:03

Răspuns scurt: Editează Version în style.css al temei pe care o folosești de fiecare dată când faci o modificare și reîncarcă pagina.

Yergalem Yergalem
6 nov. 2023 18:19:46
Toate răspunsurile la întrebare 12
1
22

Adaugă un număr de versiune aleatoriu la sfârșitul fișierului css pe care îl atașezi. Dacă folosești funcțiile 'wp_enqueue_style' sau wp_register_style, transmite un număr aleatoriu (versiune) rand(111,9999) ca al 4-lea parametru. Dacă atașezi css-ul ca un tag html, ar trebui să adaugi "?ver=<?php echo rand(111,999)?>" la sfârșitul numelui fișierului. Exemplele sunt aici:

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

sau

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

Aceasta va evita stocarea în cache la nivel de client și posibil și la nivel de server.

23 iul. 2013 19:11:15
Comentarii

În ce fișier se află aceste funcții pentru a putea face modificarea?

Sam Sam
4 oct. 2021 22:37:08
2
10

Știu că acest articol are peste un an, dar am vrut să menționez că CloudFlare stochează în cache fișiere statice precum css, js și imagini pentru a încărca mai rapid paginile. Ceva la care am petrecut ore întregi să înțeleg, deoarece aveam probleme cu modificările CSS care nu se actualizau la reîncărcare. CloudFlare are un mod de dezvoltare pe care îl poți activa pentru 3 ore. Dacă uiți să-l activezi înainte de a începe modificările, poți șterge cache-ul din panoul de administrare CloudFlare.

20 sept. 2014 15:48:29
Comentarii

CloudFlare consideră că dacă există ?ver= atunci fișierul nu poate fi actualizat.

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

Spui că de fiecare dată când fac o modificare în CSS, JavaScript, trebuie să golesc cache-ul Cloudflare? Ce face de fapt acest mod de dezvoltare? Mulțumesc.

Tanvir Tanvir
3 iul. 2017 17:31:35
1

Am această problemă și eu și am încercat soluția cu cele mai multe voturi de aici, dar nu a funcționat. Puteți face trucuri simple ca mine.

Suprascrieți CSS-ul pe care doriți să-l schimbați în Teme > Personalizare > CSS Personalizat din panoul de control.

În cele din urmă, CSS-ul va fi actualizat. Apoi îl puteți șterge din nou.

2 mar. 2021 04:42:47
Comentarii

Acesta este cu siguranță cel mai curat mod dacă nu ai prea multe modificări de făcut.

Alexis Wilke Alexis Wilke
25 ian. 2022 20:05:21
2

Te rog să schimbi versiunea în partea de sus a fișierului style.css (locația ..wp-content\themes\nume_theme\style.css) la una mai nouă.

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

De exemplu, de la 1.0 la 1.1 sau 1.0.1.

De asemenea, schimbă versiunea în fișierul fuction.php pentru acel fișier CSS

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

aici schimbă '1.0' la o versiune mai nouă precum '1.1'

8 sept. 2021 07:40:24
Comentarii

Puteți da un exemplu de acum și unde schimbați asta în fișierul function.php?

Sam Sam
4 oct. 2021 22:49:50

wp_enqueue_style('style', get_template_directory_uri() . "/assets/css/style.css", array(), '1.0', 'all'); aici schimbați 1.0 în ceva mai nou precum 1.1

SF007 SF007
28 oct. 2021 12:48:18
0

Este posibil ca gazda dumneavoastră să folosească ceva precum Varnish pentru a stoca în cache ieșirea site-ului dumneavoastră. Am întâlnit această situație cu un site al unui client găzduit pe un cont de hosting partajat la preț redus. Singura soluție pe care am găsit-o a fost să fiu răbdător.

23 iul. 2013 18:49:24
0

Dacă folosești un temă copil, este posibil să fie necesar să încarci fișierul de stiluri al temei copil pentru a vedea imediat modificările. Aceasta a rezolvat problema în cazul meu.

9 nov. 2018 13:35:17
0

Vreau doar să subliniez - asigurați-vă că sunteți atenți la orice plugin-uri de cache pe care le-ați instalat. WP Fastest Cache, de exemplu, poate crea această problemă dacă uitați să vă autentificați în panoul de administrare WordPress și să faceți clic pe "Clear Cache --> Delete Cache and Minified CSS / JS" în meniul de navigare.

9 iun. 2019 00:47:50
0

Acest lucru poate fi depășit, dar trebuie să ajut pe cineva care ar putea căuta ajutor. Am avut aceeași problemă și am verificat pluginurile mele. Era pluginul "w3 total cache" care accelerează încărcarea. Acesta este un plugin de cache pe partea de server, așa că l-am dezactivat. Modificările CSS sunt vizibile din nou în timp real. Există o mulțime de pluginuri care accelerează încărcarea. Așadar, verifică lista ta de pluginuri și dezactivează-le până când finalizezi dezvoltarea.

19 sept. 2019 13:27:20
3

Modifică acest cod în funcție de nevoile tale, funcționează perfect, generează un număr de versiune aleatoriu de fiecare dată când reîncarci pagina, ideal pentru dezvoltare:

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

Cred că este același lucru ca răspunsul acceptat, nu?

Rup Rup
4 iul. 2021 16:39:17

@Rup da, te rog, nu am văzut exemplul cum trebuie

Odonga Brian Odonga Brian
5 iul. 2021 19:01:57

Și exact ca în răspunsul acceptat, nu specifici care fișier trebuie editat...

Alexis Wilke Alexis Wilke
25 ian. 2022 19:58:44
0

Știu că această întrebare are deja un răspuns acceptat care funcționează bine, dar am vrut să menționez o altă soluție care este puțin mai simplă.

Când încărcați fișierele (enqueue), puteți folosi funcția PHP time() pentru a obține ora curentă și a o utiliza ca versiune. Codul dvs. pentru încărcare va arăta cam așa:

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

Și dacă încărcați fișierul CSS direct cu HTML, codul dvs. va arăta astfel:

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

Nu sunt sigur de ce nimeni nu a postat această soluție. Obții un timestamp Unix al timpului de modificare al fișierului - deci dacă nu ai făcut nicio modificare - cache-ul browserului / CDN-ului poate fi păstrat.

wp_enqueue_style(
    'style_name', // Numele fișierului de stiluri.
    get_stylesheet_directory_uri() . '/style.css', // URL-ul complet al fișierului de stiluri.
    array(), // Dependințe.
    filemtime( get_stylesheet_directory() . '/style.css' ) // Numărul versiunii.
);

Diferența importantă aici este că apelezi URI-ul pentru sursă - dar locația folderului pentru timpul de modificare al fișierului.

25 oct. 2022 15:52:52
0
-1

Aceste setări se găsesc în secțiunea de Confidențialitate a browserului pe care îl utilizați. Pur și simplu dezactivați secțiunea care spune:

Încarcă paginile în avans pentru o navigare și căutare mai rapidă Folosește cookie-uri pentru a-ți aminti preferințele, chiar dacă nu vizitezi acele pagini

19 mai 2020 16:13:49