Cum forțez WordPress să afișeze cea mai recentă versiune a imaginilor din biblioteca media?
Fluxul meu de lucru este uneori următorul:
- Șterg mai multe imagini din biblioteca media simultan (denumite de exemplu,
01.jpg
,02.jpg
,03.jpg
...). - Încarc din nou o serie de imagini cu aceleași nume de fișiere (
01.jpg
,02.jpg
,03.jpg
...).
Biblioteca media păstrează și afișează imaginile vechi ca miniaturi și previzualizări, chiar dacă acestea sunt șterse.
Evident, această problemă poate fi evitată prin adăugarea imaginilor cu nume de fișiere distincte, dar mă întrebam dacă există o modalitate mai bună care să funcționeze indiferent de convenția de denumire. Sau altceva care îmi scapă complet?
Mulțumesc.

@t31os Mulțumesc pentru răspunsul tău. Sunt sigur că este doar browserul meu care cachează imaginile. Dar (ar fi trebuit să specific) eu nu sunt singurul utilizator. Aș prefera să nu fiu nevoit să le spun utilizatorilor mei să reîmprospăteze pagina de fiecare dată când șterg ceva sau să adaug o reîmprospătare dură a paginii ca parte a procesului de ștergere a imaginilor.
Dar tocmai de aceea avem cache-ul în browser - pentru a preveni încărcarea aceleiași imagini de fiecare dată când o apelăm din nou. Browserul o vede ca fiind aceeași imagine.
Poți face un mic ocol folosind imaginea în felul următor: http://yoursite.com/images/01.jpg?v1 și http://yoursite.com/images/01.jpg?v2 - acest lucru va încărca aceeași imagine de 2 ori.

Da, de fapt acesta este trucul pe care WP îl folosește cu încărcările (enqueues) când specifici o versiune a scriptului/stilului: https://codex.wordpress.org/Function_Reference/wp_enqueue_script

Aceasta este o problemă de cache în browser, nu o problemă a bibliotecii media din WordPress. Motivul pentru care vezi imaginile vechi în galeria media este pentru că ai folosit același nume de fișier, iar browserul tău încearcă să economisească timp și lățime de bandă prin încărcarea versiunilor pe care le are deja.
Există două metode de a rezolva această problemă.
Cache Busting
Adaugă o variabilă de interogare (?v=5
) la sfârșitul numelor imaginilor folosite pe front-end. Acest lucru nu va afecta galeria media... dar va preveni afișarea versiunilor din cache ale imaginilor vechi pe front-end. Pentru referință, aceasta este aceeași metodă pe care o folosim în nucleul WordPress pentru a forța browserul să reîncarce fișierele JavaScript actualizate.
mod_expires
Poți configura serverul (Apache) să stabilească o dată și oră de expirare personalizată pentru diferite imagini, fie în funcție de extensie (toate fișierele jpg sau png), fie de numele fișierului, dacă dorești o abordare mai detaliată. Aceasta este mai mult o metodă avansată, dar poți folosi acest lucru pentru a goli imediat cache-ul tuturor atunci când încarci imagini noi.
- Cum să setezi un antet Expires în Apache (folosind
ExpiresByType
) - Referință pentru modulul Apache mod_expires
