Ich verwende filemtime()
, um eine Versionsnummer für verschiedene CSS- und JS- Dateien in einem benutzerdefinierten WordPress- Design hinzuzufügen .
Ich habe die hier beschriebene akzeptierte Antwort als Richtlinie verwendet. Ich verwende jedoch die Funktionen wp_retister_style()
und wp_register_script()
, um meine CSS- und JS- Dateien zu registrieren und sie schließlich über wp_enqueue_style()
und zu laden wp_enqueue_script()
. Als Beispiel registriere ich die Datei sigle.css folgendermaßen :
wp_register_style('xyz_single', get_template_directory_uri() . '/css/single.css', false, filemtime(get_template_directory() . '/css/single.css'));
Der vierte Parameter in der obigen Funktion fügt dem Stylesheet ? Ver = nnnnnnnn hinzu . Die endgültige Ausgabe ist so etwas wie single.css? Ver = nnnnnnnn , wobei nnnnnnnn eine Zahl ist, die den Zeitstempel der geänderten Datei darstellt, um sicherzustellen, dass sie beim Ändern des Themas neu geladen wird, damit Probleme beim Zwischenspeichern behoben werden.
Nun zu meiner Frage.
In meinem benutzerdefinierten Thema verwende ich rtl.css , das beim wp_head()
Aufruf automatisch für mich geladen wird. Wie füge ich rtl.css hinzu , um eine Versionsnummer aufzunehmen?
Mehr Informationen
In header.php lade ich style.css wie folgt:
<link href="<?php echo get_stylesheet_uri() . '?ver=' . filemtime(get_stylesheet_directory() . '/style.css'); ?>" rel="stylesheet" type="text/css" />
Ich lade alle anderen Stylesheets wp_register_style()
wie oben beschrieben, gefolgt von wp_enqueue_style()
. Hier ist ein Beispiel:
wp_register_style('xyz_single', get_template_directory_uri() . '/css/single.css', false, filemtime(get_template_directory() . '/css/single.css'));
wp_enqueue_style('xyz-single');
Allerdings rtl.css wird automatisch geladen , wenn ich rufe wp_head()
in header.php . Bitte lesen Sie diese großen Artikel darüber , wie wp_head()
Lasten rtl.css ; und daher meine Frage, wie kann ich rtl.css eine Versionsnummer hinzufügen, wenn sie automatisch aufgerufen wird?
Antworten:
Sie laden die Datei rtl.css auf die automatische Weise von WordPress. Das heißt, eine rtl.css im Themenordner wird von WordPress automatisch geladen, wenn sie die Richtung der aktuellen Sprache ir rtl anzeigt (Sie sollten diese Informationen der Frage hinzufügen Es war schwierig herauszufinden, wie Sie die Datei laden. Dieser Prozess definiert,
locale_stylesheet_uri
dass Sie die URL des Gebietsschema-Stylesheets ändern können, damit Sie den Versionsparameter hinzufügen können:Wenn Sie auch Abhängigkeiten behandeln müssen, müssen Sie die Datei rlt.css
wp_enqueue_style
wie jede andere CSS- Datei laden . Keine Möglichkeit, Abhängigkeiten mit der "automatischen" Methode zu behandeln.quelle
Basierend auf dem Artikel, auf den Sie hingewiesen haben, scheint es zwei einfache Optionen zu geben
remove_action( 'wp_head', 'locale_stylesheet' );
und stelle es mit deinem eigenen Code in die Warteschlange, so etwas wie
'locale_stylesheet_uri'
Filter und fügen Sie der URL das''
gewünschte Suffix hinzu, oder kehren Sie einfach zurück und stellen Sie es wie in # 1 selbst in die Warteschlangequelle