TL; DR: 管理者がテーマのカスタマイズ設定を保存するたびに、運用サーバーで
gulp
を実行しますか?
こんにちは、
私は長い間gulp + sass + WordPressを使ってきました。そして今、私はエンドユーザーが カスタマイザ を通して色を変えることができるテーマを開発しています。
私は私のすべての色とものでvariables.scss
を持つことに慣れています。
私の最初のステップは、variables.scss
に対するアクションを介して、このcustomize_save_after
にカスタマイザ変数を追加することでした。
もちろん、のように動作します。カスタマイザで選択したすべての色をvariables.scss
に書き込み、開発マシンでgulp
を実行すると、正しい値が得られます。
私は生産機械を考えていなかった以外は。
現在のワークフローでは、色とフォントにsass変数を使い続ける方法が見当たらないので、私の生産マシンにgulpをインストールするつもりはありませんでした。
私はそれを解決して、すべての問題のあるスタイルを通常の.css
の後に依存するような通常のmain.css
ファイルに変換することができますが、それは大きな一歩後退のように思えます。
私は基本色で遊ぶためにたくさんのsass関数(暗くする、明るくする、透明にする…)を使っているので、すべてをだけでなくコンパイルされていないスタイルシートに移動します。
これが一般的なプログラミングの質問であれば、私は ソフトウェアエンジニアリングスタック交換 に投稿します。通常のstack overflowには投稿しません。しかし、それがcode問題ではないとしても、WordPressを中心にしているので、ソフトウェア工学よりもここによくフィットします。
ありがとうございます。
はい、そうです。 gulp
は非常に軽量なので、運用サーバーで実行し続け、バックグラウンドでscss
ファイルを監視するのに問題はありません。
しかし、なんらかの理由で本番サーバーが制御不能になった場合、または追加のソフトウェアをインストールしたくない場合は、もちろん PHP scss
コンパイラ を使用してテーマに添付することができますカスタマイザ変更のためにscss
ファイルをcss
に再コンパイルするためのfunctions.php
ファイル。
customize_save_after
フックを使用してカスタマイザの変更を監視してからscss
コンパイラを実行できます。こうすることで、誰かがカスタマイザに変更を加えるたびに、あなたのcssファイルの変更を反映するためにscss
ファイルを再コンパイルすることができます。
私はポイント不足のためにコメントすることができません、しかしこれが「完全な」解決策ではないことを恐れてください。
このSCSSPHPライブラリをここで調べることができます: http://leafo.net/scssphp/
Gulpを使わなくてもSCSSをコンパイルできます。