Also gut, wir sind wahrscheinlich alle mit der typischen Methode vertraut, um sicherzustellen, dass Ihre CSS-Hauptdatei aktualisiert wird, wenn Sie die Seite laden (den Browser-Cache sprengen), oder?
<link rel="stylesheet" type="text/css" media="all"
href="<?php echo get_stylesheet_uri();
echo '?'.filemtime( get_stylesheet_directory() . '/style.css'); ?>" />
Ich muss dasselbe für eine andere CSS-Datei tun. Ja, meine style.css-Datei hat einen eigenen Satz von @import "css / myFile.css", die gut funktionieren, aber humor mich, wenn Sie so wollen. Also zurück zu header.php, direkt nach diesem ersten Link und vor dem Aufruf von wp_head ():
<?php $cssFile = get_stylesheet_directory_uri().'/css/other.css'; ?>
<link rel="stylesheet" type="text/css" media="all"
href="<?php echo $cssFile; echo '?'.filemtime($cssFile); ?>" />
Dies führt zu einer Warnung (als Teil des href-Attributs des Links, wenn der Browser die Seite erhält):
Warnung: filemtime (): stat für http: //localhost/wordpress/wp-content/themes/my_theme/css/other.css fehlgeschlagen
Der Pfad zur Datei scheint korrekt erstellt zu sein (und die Datei other.css ist vorhanden), aber die Dateizeit (stat, tatsächlich) schlägt fehl. Woher?
Andere empfohlene Möglichkeiten, die 'neueste' Version einer anderen CSS-Datei als style.css einzuschließen? Sollte ich stattdessen mit wp_register_style gehen ? Wenn ja ... wie kann ich wp_register_style anweisen, den Browser-Cache zu sprengen (dh: Holen Sie sich die neueste Version der CSS-Datei, auch wenn der Browser sie zwischengespeichert hat)? Danke im Voraus
Ich neige dazu, das Haupt-Stylesheet einfach mit in die Warteschlange zu stellen
wp_enqueue_style
und etwas an die Version anzuhängen, wenn ich das Caching verhindern möchte.Wenn ich das Caching beenden möchte, aktualisiere ich
$ver
auf etwas, das sich ständig ändert, wie z. B. die Zeit.Oder etwas ähnliches..
quelle
Hier ist der Code, den ich von einem unveröffentlichten CDN-Plugin habe, das ich habe. Es ersetzt automatisch die ver query_var, die die Enqueue-Funktionen verwenden, durch die Datei time:
quelle
Wenn Sie die Standarddatei nicht
style.css
für die CSS-Cache-Busting-Technik Ihres WordPress-Themas verwenden möchten , finden Sie hier ein vollständiges Beispiel für einen Arbeitscode :Würde zu folgender HTML-Ausgabe führen:
Aus Gründen der Kürze dieses Beispiels habe ich
rel="stylesheet" type="text/css"
das<link>
Element ausgeschlossen. Fügen Sie diese Attribute daher unbedingt zu Ihrem endgültigen Markup hinzu.quelle
Ich habe meine eigene kleine Funktion als Plugin für solche Jobs geschrieben. Es sind zwei Parameter erforderlich, der Pfad, der angehängt werden muss, und ein Datumsformat. Hier ist ein Beispiel für die Verwendung ...
Dies würde zu http://pewsocialtrends.org/wp-content/themes/pew-socialtrends/css/reset.css?2010-11-11_6:47:45 führen
Hier ist der Code:
quelle
Einfach: Verwenden Sie die URl, um den Stil und den Pfad zu laden, um Folgendes zu erhalten
filemtime()
:Die resultierende URl wird so etwas wie sein
quelle