Identifizieren der Priorität von style.css, damit ich eine kleine CSS-Datei zuletzt laden kann

Ich habe ein kleines Stück stündlich wechselnden CSS und möchte es

  1. behalte es in einer zweiten Datei (außer style.css) und

  2. lade es nach der style.css Datei meines Themes.

Ich glaube, ich kann es vor style.css laden, indem ich seine Priorität auf style.css minus eins style.css (zB wenn die style.css eine Priorität von 10 hat, hätte mein Code-Bit eine Priorität von 9).

Aber hier ist mein Problem: Abgesehen von Versuch und Irrtum kann ich die Priorität eines Stylesheets nicht programmatisch identifizieren. Ich weiß, könnte einfach die Methode der Halbierung verwenden, um den Wert zu verbessern, aber das würde ich lieber nicht tun. Es wäre schön, einen prinzipiellen Weg zur Lösung dieses Problems zu finden. Vielleicht gibt es eine Standardpriorität der Main-Theme-CSS-Datei? Wenn dies der Fall ist, kann ich einfach versuchen ($ defaultPriorityValue – 1). Ist das möglich, und wenn nicht, was ist ein guter Weg?

ps Ich möchte Inline-Styles nicht in meine functions.php einreihen, weil ich diesen Code in einer separaten Datei behalten muss

Obwohl ich die funktionale Lösung gefunden habe, die ich in den Antworten unten aufgeführt habe, würde ich es immer noch mögen, wenn jemand erklären könnte, ob es einen Weg gibt, die Priorität eines Blattes programmatisch zu programmieren. Vielen Dank!

Solutions Collecting From Web of "Identifizieren der Priorität von style.css, damit ich eine kleine CSS-Datei zuletzt laden kann"

Wenn Sie eine Datei ordnungsgemäß in die Warteschlange stellen, wird eine Instanz der class wp_styles ( more this ) erstellt. Die Priorität von Aktionen wird ignoriert. Es ist also egal, ob du etwas schreibst

 add_action ('wp_enqueue_scripts','function_adding_main_style',10); add_action ('wp_enqueue_scripts','function_adding_small_style',11); 

Der Grund ist genau die Existenz des Abhängigkeitssystems. WP sammelt zuerst alle eingereihten Style-Dateien und überprüft sie dann auf Abhängigkeiten. Wenn A.css vor B.css aber ersteres von letzterem abhängt, werden sie entsprechend geladen. Sie können diese Umorientierung in der Methode all_deps der übergeordneten class sehen .

Um es kurz zu machen: Sie sollten sich nicht mit der Priorität von Stildateien außerhalb des Abhängigkeitssystems auseinandersetzen, das Ihnen WP bietet. Ihre eigene Lösung ist das Beste.

Das heißt, Sie können das Enqueueing-System immer umgehen und Ihre Datei direkt gegen Ende des wp_head . Unelegant, aber effektiv.

Die Abhängigkeitslösung

Eine funktionierende Lösung, die ich gefunden und erfolgreich getestet habe, kam von @ helgathevikings Antwort auf diese Frage . Diese Lösung beinhaltet das Festlegen einer Abhängigkeit von einer kleinen CSS-Datei (was ein drittes Argument ist), wenn sie in die Warteschlange eingereiht wird. Sie legen die Abhängigkeit der kleinen CSS-Datei auf das Handle / die ID der CSS-Hauptdatei fest.

  wp_enqueue_style( 'my-little-css-style', get_stylesheet_directory_uri() . '/my_little_style.css', 'themename-style' // this is the dependency, which I set to the handle of the main css stylesheet. It makes the small sheet load before the main one. );