it-swarm.com.de

Wie man mit Theme-Anpassungen und Sass-Variablen umgeht

TL; DR: Würden Sie gulp jedes Mal auf einem Produktionsserver ausführen, wenn ein Administrator die Einstellungen für die Designanpassung speichert?

Hallo,

Ich benutze gulp + sass + WordPress seit einiger Zeit und entwickle gerade ein Thema, in dem der Endbenutzer die Farben über den Customizer ändern kann.

Ich bin es gewohnt, einen variables.scss mit all meinen Farben und Sachen zu haben.

Mein erster Schritt war, diesen variables.scss über eine Aktion auf customize_save_after mit den Customizer-Variablen zu verbinden.

Das funktioniert natürlich wie in ich habe alle Farben, die ich im Customizer ausgewählt habe in meinem variables.scss geschrieben und wenn ich gulp auf meinem Entwicklungscomputer ausführe, werden die korrekten Werte angezeigt und alles ist großartig ...

Außer ich habe nicht über die Produktionsmaschine nachgedacht.

Ich hatte nicht vor, gulp auf meiner Produktionsmaschine zu installieren, daher sehe ich bei meinem aktuellen Workflow keine Möglichkeit, weiterhin sass-Variablen für Farben und Schriftarten zu verwenden.

Ich weiß, dass ich das Problem lösen kann, indem ich alle betroffenen Stile aus sass in eine reguläre .css-Datei löse, die nach dem regulären kompilierten main.css noch benötigt wird, aber es scheint ein großer Schritt zurück zu sein.

Ich benutze viele der Sass-Funktionen (Abdunkeln, Aufhellen, Transparentmachen ...), um mit den Grundfarben zu spielen, damit nicht nur alles verschieben in ein nicht kompiliertes Stylesheet verschoben wird.

Wenn dies eine allgemeine Programmierfrage wäre, würde ich dies auf Software Engineering Stack Exchange posten, nicht auf reguläres Stack Overflow, aber ich denke, auch wenn es kein Code Problem ist Da WordPress so zentriert ist, passt es hier besser als auf Softwareengineering.

Vielen Dank!

3
Miquel Adell

Ja, würde ich. gulp ist sehr leicht und ich sehe kein Problem, es auf dem Produktionsserver laufen zu lassen und meine scss -Dateien im Hintergrund zu betrachten.

Wenn der Produktionsserver jedoch aus irgendeinem Grund außerhalb Ihrer Kontrolle liegt oder Sie keine zusätzliche Software installieren möchten, können Sie natürlich einen PHP scss -Compiler verwenden und ihn an den Ihres Themes anhängen functions.php Datei, um die scss Datei für die Anpassungsänderungen in css neu zu kompilieren.

Sie können den customize_save_after -Hook verwenden, um nach Anpassungsänderungen zu suchen und dann den scss-Compiler auszuführen. Auf diese Weise können Sie jedes Mal, wenn jemand Änderungen am Customizer vornimmt, die Datei scss neu kompilieren, um die Änderungen in Ihrer CSS-Datei widerzuspiegeln.

1
Fayaz

Ich kann aufgrund fehlender Punkte keinen Kommentar abgeben, befürchte jedoch, dass dies keine vollständige Lösung ist.

Sie können diese SCSSPHP-Bibliothek hier untersuchen: http://leafo.net/scssphp/

Es könnte SCSS für Sie kompilieren, ohne Gulp.

1
Doug Belchamber