Ako zamedziť cachovaniu CSS súborov vo WordPress

19. apríla 2020

Pri tvorení a upravovaní webov vždy testujem ako stránka vyzerá na mobilných zariadeniach. Pritom môže nastať problém, a tým problémom je cahcovanie mobilných zariadení, ktoré testovanie podstatne sťažuje. V PC sa tento problém dá riešiť pomerne jednoducho cez klávesovú skratku „CTRL + F5“, čo je tiež dosť otravné. Poďme si teda ukázať, ako počas vývoja obídeme cachovanie CSS súborov.

Jednou z metód, ako prinútiť prehliadače, aby stiahli novú verziu, je pridať / zmeniť parameter „ver“ CSS súboru (príklad style.css?ver=1.1). Ak by sme po každej úprave zmenili verziu, mali by sme istotu, že prehliadače by vždy stiahli aktuálnu verziu. Toto riešenie síce funguje, ale je dosť nepraktické. Na internete som sa často krát stretol, že namiesto pevne definovaného čísla, používali PHP funkciu rand(), ktorá vracia náhodne generované číslo. Toto riešenie mi tiež nepríde úplne elegantné, pretože prehliadače by sťahovali pri každom načítaní webu CSS súbor znovu. Ideálne by bolo, ak by sa verzia zmenila, len pri úprave súboru. S týmto nám môže pomôcť iná PHP funkcia, konkrétne filemtime(), ktorá nám vracia čas poslednej úpravy súboru, ktorý stačí vložiť ako parameter WordPress funkcie wp_enqueue_style, ktorá slúži na vkladanie CSS súborov do webstránky. Spomínaná filemtime() po každej zmene súboru pridá iné číslo (UNIX čas) a to nám zaručí, že prehliadače vždy po úprave súboru stiahnu aktuálnu verziu. Názov súboru s parametrom „ver“ potom vyzerá nasledovne: style.css?ver=1587317252. Číslo sa môže javiť, ako náhodne vygenerované, ale v skutočnosti ide o dátum a čas v „Unixovom“ formáte.

Kód vyzerá to nasledovne:

Tento postup je možné aplikovať na nasledujúce funkcie, ktoré slúžia na pridávanie skriptov a štýlov do webu.

wp_register_script, wp_register_style, wp_enqueue_script, wp_enqueue_style

Potrebujete pomocť s WordPress webom?

Ďalšie články…

Zabezpečenie WordPress

Zabezpečenie WordPress

V tomto príspevku vám ukážem, ako si svojpomocne zabezpečiť svoj WordPress. Vďaka tomu, že WordPress je...

0 komentárov

Odoslať komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *