Cum să excludem conținut din cache-ul W3 Total Cache

14 aug. 2012, 20:06:54
Vizualizări: 17.7K
Voturi: 4

Folosesc W3 Total Cache pe un site pe care îl administrez și care acum trebuie să afișeze un mic popup în partea de jos a paginii pentru a menționa că site-ul folosește cookie-uri (mulțumesc UE). Ideea este că acesta apare doar prima dată când utilizatorul vede pagina, apoi este setat un cookie pentru a ne asigura că site-ul nu mai afișează acest popup utilizatorului respectiv.

Totuși, W3 va stoca adesea în cache o versiune a site-ului cu acest popup vizibil, ceea ce înseamnă că popup-ul este afișat indiferent dacă cookie-ul există sau nu.

Popup-ul este afișat cu un <div> în partea de jos a fiecărei pagini și este afișat doar dacă cookie-ul este setat. În esență, întrebarea este: cum pot exclude acest popup din cache-ul W3? Este posibil acest lucru sau există o alternativă pentru afișarea acestui popup care să evite această problemă?

Mulțumesc.

0
Toate răspunsurile la întrebare 1
3

În W3TC poți specifica fișiere sau cookie-uri care sunt ignorate și nu sunt stocate în cache.

Exclude fișiere din cache
Pentru a face acest lucru, mergi în WordPress Admin > Performance > Page Cache

În captura de ecran... vei vedea că am adăugat bara laterală personalizată din tema Twenty-Eleven. Acestea sunt excluse din stocarea în cache.

Fișiere excluse în W3TC

De asemenea, poți specifica propriul tău cookie să nu fie stocat în cache...

Setări Browser Cache
DAR verifică și setările Browser Cache, deoarece probabil vei dori să le reduci de la 1 an la 1 lună, săptămână sau zi.

14 aug. 2012 22:22:29
Comentarii

Problema cu acest lucru este că fiecare pagină poate afișa fereastra popup și, prin urmare, utilizează cookie-ul. Acest lucru ar elimina toate paginile din cache, făcându-l destul de redundant. Va trebui să regândesc acest mecanism, poate să desenez fereastra popup folosind javascript, astfel încât W3 să nu o vadă la crearea cache-ului... presupunând că W3 nu creează cache-ul după orice modificări DOM. Oricum, mulțumesc pentru ajutor.

artparks artparks
15 aug. 2012 16:31:16

Salut @artparks, codul pentru fereastra ta popup ar putea fi pus într-un fișier separat, cum ar fi /includes/cookie_warning.php. Astfel, ar fi doar acest fișier de exclus + bara laterală sau header.php.

Damien Damien
15 aug. 2012 18:11:00

În 2018, valorile din câmpul "Nu stoca în cache următoarele pagini" sunt verificate împotriva $_SERVER['REQUEST_URI'], așa că adăugarea de șabloane PHP separate nu va funcționa.

Igor Skoldin Igor Skoldin
1 iun. 2018 07:39:10