Cache bust WordPress css- og js-filer

Photo by Kobu Agency on Unsplash

Ved at tilføje et versionnummer til stylesheets og scripts når de enqueues i WordPress, kan man sørge for at det altid er nyeste version af f.eks. stylesheets og scripts der vises – også selvom brugerens browser insisterer på at cache alle besøgte websites (looking at you chrome).

Caching er godt og nødvendigt, men hvis man opdaterer et WordPress-tema, skulle alle brugere gerne se den nye udgave.

I stedet for blot at tilføje et versionsnummer (og huske at ændre det i forbindelse med hver opdatering), kan man bruge PHP-funktionen filemtime.

De fleste browsere retter sig efter query strings, og med filemtime kan man netop tilføje en query string med et tidsstempel til filnavnet, når stylesheets og scripts enqueues:

wp_enqueue_style('ammassat-style', get_stylesheet_directory_uri() . '/dist/style.css', array(), filemtime(get_template_directory() . '/dist/style.css'));

“filemtime(get_template_directory() . ‘/dist/style.css’)” bliver til
“/wp-content/themes/ammassat/dist/style.css?ver=1565016231”.

Versionsnummeret er et unix timestamp som viser hvornår den angivne fil sidst er ændret, d.v.s. der er ikke længere behov for manuelt at rette versionsnummeret.

WordPress Developer Ressources