Kategorier
Tips og triks Utvikling

Legg til versjons-spørrestreng i inkluderingen av WordPress' style.css

Browser-caching av CSS-filer oppstår fra tid til annen, og derfor hender det man slenger på noen spørrestrenger i URL-en for å få nettleserne til å oppdatere til siste versjon.

For eksempel vil http://example.com/style.css bli til http://example.com/style.css?ver=123456789.

Dette problemet har jeg nylig hatt i WordPress, men å legge til en «ver»-streng i URL-en til hoved-CSS-filen er ikke all verden med jobb. Bare se her:

  1. Åpne, eventuelt opprett, filen functions.php i ditt tema.
  2. Legg inn følgende kode:
<?php
/**
* Add a filter to stylesheet_uri, which appends a query string to it automagically.
*/
add_filter('stylesheet_uri', function($css) {
$parts = parse_url($css);
$file = $_SERVER['DOCUMENT_ROOT'] . $parts['path'];
if (file_exists($file)) {
$query = array();
if (isset($parts['query'])) {
parse_str($parts['query'], $query);
}
$query['ver'] = filemtime($file);
$querystr = http_build_query($query, null, '&amp;');
$user = isset($parts['user']) ? $parts['user'] : '';
$pass = isset($parts['pass']) ? $parts['pass'] : '';
$userpass = (!empty($user) || !empty($pass)) ? $user.'@'.$pass : '';
$css = "{$parts['scheme']}://{$userpass}{$parts['host']}{$parts['path']}?{$querystr}";
echo $css;
}
});