TL; DR: voudriez-vous exécuter
gulp
sur un serveur de production chaque fois qu'un administrateur enregistre les paramètres de personnalisation du thème?
Salut,
J'utilise gulp + sass + WordPress depuis un certain temps et je développe maintenant un thème dans lequel l'utilisateur final pourra changer les couleurs via le personnaliseur .
Je suis habitué à avoir un variables.scss
avec toutes mes couleurs et tout le reste.
Ma première étape a été d'amorcer ce variables.scss
avec les variables de personnalisation via une action sur customize_save_after
.
Bien sûr, cela fonctionne comme dans j'ai toutes les couleurs que j'ai choisies dans le personnaliseur inscrites dans mon variables.scss
et lorsque je lance gulp
sur ma machine de développement, il obtient les valeurs corret et tout est génial ...
Sauf que je n'ai pas pensé à la machine de production.
Je n'avais pas l'intention d'installer gulp sur ma machine de production. Par conséquent, avec mon flux de travail actuel, je ne vois pas comment continuer à utiliser des variables sass pour les couleurs et les polices.
Je sais que je peux le résoudre en récupérant tous les styles afectd dans un fichier .css
normal qui serait ajouté après le main.css
compilé régulier, mais cela semble être un grand pas en arrière.
J'utilise beaucoup de fonctions sass (assombrir, éclaircir, rendre transparent…) pour jouer avec les couleurs de base, donc ce n'est pas juste déplacer tout dans une feuille de style non compilée.
Si c’était une question de programmation générale, je posterais que sur logiciel échangeant pile stack , pas sur pile débordement mais j’imagine même si ce n’est pas un problème code , étant tellement centré sur WordPress, il s’adapte mieux ici que sur le génie logiciel.
Merci!
Oui je voudrais. gulp
est très léger et je ne vois aucun problème à le garder en cours d'exécution sur le serveur de production et à regarder mes fichiers scss
en arrière-plan.
Cependant, si pour une raison quelconque le serveur de production est hors de votre contrôle ou si vous ne souhaitez pas installer de logiciel supplémentaire, vous pouvez bien sûr utiliser un compilateur PHP scss
et le joindre au thème de votre thème. functions.php
fichier pour recompiler le fichier scss
en css
pour les modifications du personnaliseur.
Vous pouvez utiliser le customize_save_after
hook pour surveiller les modifications du personnalisateur, puis exécuter le compilateur scss
. Ainsi, chaque fois que quelqu'un modifie le personnaliseur, vous pourrez recompiler le fichier scss
pour refléter les modifications apportées à votre fichier css.
Je suis incapable de commenter en raison du manque de points, mais je crains que cette solution ne soit pas "complète".
Vous pouvez explorer cette bibliothèque SCSSPHP ici: http://leafo.net/scssphp/
Il pourrait compiler SCSS pour vous, sans Gulp.