In header.php möchte ich dem Stylesheet eine Versionsnummer zuweisen, damit der Browser gezwungen ist, diese zu aktualisieren. Wenn Sie jedoch mit einem untergeordneten Thema arbeiten, wird dessen Stylesheet nicht explizit aufgerufen, sondern WordPress sucht es automatisch. Wie oder wo kann man dem Stylesheet des untergeordneten Themas eine Versionsnummer zuweisen?
child-theme
css
drake035
quelle
quelle
Ich denke, der beste Weg, dies zu tun, besteht darin, das untergeordnete Design-Stylesheet (style.css) leer zu lassen und nur die erforderlichen Kommentare (wie Themenname, Beschreibung usw., damit WordPress Ihr Thema erkennen kann) und dann eine weitere CSS-Datei in Ihrem zu erstellen. Themenname-Ordner / css / main.css
Danach können Sie auf function.php jedes Mal, wenn Sie Ihre Datei ändern, eine neue "Version" haben:
Die Logik:
Jedes Mal, wenn Sie die Datei speichern, wird die geänderte Zeit der Datei geändert. Die neue Uhrzeit wird an die Datumsfunktion übergeben, um die Uhrzeit (die Dateizeit gibt eine Ganzzahl zurück, die die Uhrzeit darstellt) in das Datumsformat zu konvertieren, um daraus eine Zeichenfolge im gewünschten Format zu machen. In unserem Beispiel wird die Zeit mit einer Genauigkeit von Minuten formatiert. Sie können es ändern, um sogar die Sekunde zu verfolgen, dh.
"YmdHis"
Danach wird die neue geänderte Zeit der Datei als neue Version an übergebenwp_enqueue_style
.Referenz :
http://www.php.net/filemtime
http://php.net/manual/en/function.date.php
quelle
$cache_buster = wp_get_theme()->get('Version')
Sie die im Kommentarblock angegebene Version instyle.css
. Siehe codex.wordpress.org/Function_Reference/wp_get_theme als Referenz.wp_get_theme()->get('Version')
funktioniert).Sie müssen lediglich den Hauptstil per Handle abmelden und sich dann mit Ihrer Versionsnummer neu registrieren. In diesem Fall ist der Griff
style-css
.Sie können das Handle bestimmen, das Sie verwenden müssen, indem Sie auf den Link zum gerenderten Stylesheet schauen:
Hier ist die ID,
style-css-css
was bedeutet, dass unser Griff iststyle-css
Fügen Sie dies in die function.php Ihres Kinderthemas ein:
quelle
Die aktuelle Top-Antwort ist themenabhängig, da der Themenentwickler diese Versionsnummer des untergeordneten Themas in eine Variable umwandeln und sie dann beim Einreihen in die untergeordnete Datei style.css anhängen muss. Ich habe dies bei einigen Themen gesehen, aber nicht bei vielen. Das Folgende funktioniert mit jedem Thema, das die untergeordneten Stile in functions.php registriert - funktioniert nicht mit der alten @ import-Regel, die ich nicht mehr viel gesehen habe.
In functions.php des untergeordneten Themas sollten Sie etwas Ähnliches haben:
Wenn Sie es wie folgt ändern, wird bei jedem Speichern der Datei ein Zeitstempel als Versionsnummer angehängt, sodass jede Änderung des Stylesheets den lokalen Cache durchläuft:
Hoffe das hilft jemandem. Ich verwende dies auf jeder Site, die ich aktiv verwalte.
quelle
Ich glaube, wenn Sie den Stylesheet Ihres untergeordneten Themas mit dem Wordpress-Designeditor bearbeiten, wird bei jedem Speichern der Datei automatisch eine neue Versionsnummer angehängt.
quelle
Anstatt die Standard-style.css zu verwenden, verwende ich normalerweise wp_enqueue_style in der functions.php des untergeordneten Themas oder einer anderen enthaltenen PHP-Datei. Sie hätten also immer noch die Datei style.css im untergeordneten Thema mit allen Details zum untergeordneten Thema, aber dann können Sie im untergeordneten Thema eine separate CSS-Datei für das eigentliche Design des untergeordneten Themas haben (ich füge dies normalerweise in ein Assets / CSS ein Verzeichnis innerhalb des untergeordneten Themas). Auf diese Weise können Sie auch die CSS-Version mit dem 4. Parameter festlegen. Zum Beispiel:
Sie können der Aktion eine Priorität hinzufügen, wenn sie nicht in der richtigen Reihenfolge geladen wird, oder mit dem Abhängigkeitsparameter in wp_enqueue_style oben arbeiten:
quelle