Stylesheets und Skripte neu laden

Es ist gut, dass die Browser Stylesheets und Skripte zwischenspeichernd. Dadurch müssen sie nicht ständig neu geladen werden, was sowohl Datenvolumen als auch Zeit spart. Werden jedoch Änderungen durchgeführt, wünscht sich die Betreiberin der Seite natürlich, dass diese sofort sichtbar werden.

Vor Allem aber sollen die Änderungen direkt beim nächsten Besuch sichtbar sein, und es sollte kein weiterer Arbeitsschritt und keine weitere Interaktion notwendig werden.

Es gibt einige Möglichkeiten dies zu erreichen, ich entschied mich heute dafür beim Einbinden von Stylesheets und Skripten in WordPress den Zeitstempel der letzten Änderung als Version anzuhängen. Dadurch wird den Browsern signalisiert, dass eine neue Version der Datei vorhanden ist und diese geladen werden muss.

Um das zu erreichen habe ich lediglich in der functions.php die jeweiligen Zeilen, in denen die Version übergeben wird, um die Aufnahme von Datum und Uhrzeit der letzten Änderung erweitert:


function this_register_styles(){
  wp_register_style(
    'main-stylesheet', //handle
    get_template_directory_uri() . '/style.css', //source
    null, //no dependencies
    filemtime( get_stylesheet_directory() . '/style.css' ) // use date and time of last modification as version
  );
}

function this_register_scripts() {
  wp_register_script(
    'this-global', //handle
    get_template_directory_uri() . '/assets/js/this-global.js', //source
    array('jquery'), //dependencies
    filemtime( get_template_directory() . '/assets/js/this-global.js' ), // use date and time of last modification as version
    true //run in footer
  );
}

Um eine Versionsnummer basierend auf Datum und Zeit der letzten Änderung zu erzeugen, verwende ich die PHP-Funktion filemtime(), die eben besagtes als UNIX-Timestamp ausgibt.

Auf die Idee kam ich über den alten Eintrag ›Get your WordPress CSS changes noticed immediately!‹ auf mojowill.com, nachdem ich einen anderen Vorschlag von Kip auf stackoverflow.com, für die Anwendung in WordPress, verworfen hatte.

In letzter Zeit stellte ich fest, dass Bloggen für mich immer auch damit zu tun hatte, einen Gedanken festzuhalten, so dass ich ihn später leicht wiederfinden konnte.

Als ich dann in The Web Ahead, Episode 110 – Understanding the Web, Jen Simmons and Jeremy Keith des wunderbaren Podcasts ›The Web Ahead‹ Jen Simmons und Jeremy Keith darüber reden hörte wie gut es sei, den alltäglichen Blick auf die Arbeit im Web zu bloggen, fasste ich den Entschluss dies auch hier wieder des öfteren zu tun.

Reagiere darauf

*