web-dev-qa-db-ja.com

スタイル/ CSSベースのテーマオプションページのベストプラクティスは?

サイト全体のCSSスタイルの変更のみに基づいてテーマオプションページを作成したいと思います。たとえば、ボディ/コンテナの背景色、フォントサイズ、フォント色など.

私はCSSのエコーとget_optionを使用するヘッダーのphpファイルへのスタイルシートリンクを使用することによってこれを達成しました。

例えばbackground-color: <?php echo get_option('background_color'); ?>;

多くの選択肢がある場合、これはパフォーマンスの面で悪い考えであると仮定しても正しいでしょうか。

私は他の方法を試してみましたが、それらはすべてインラインスタイルや埋め込みスタイルを追加するように見えますが、これは私が望んでいません。

静的CSSファイルに書き込むカスタムスクリプトを作成するのは良い考えでしょうか。

設定APIがこれを処理できる方法はありますか?

** PS素晴らしい答えですが、オーバーヘッドが少なくなるため、静的ファイルへの書き込みを実際に行うことにしました。

7
Wyck

静的CSSファイルに書き込むカスタムスクリプトを作成するのは悪い考えです。変更を保存するたびにファイルを再生成する必要があります。

より良い解決策は、以下のようにオプションの配列にすべてのオプションを保存することです。

$MyCSS['background_color'] = #009988;
$MyCSS['background_repeat'] = no-repeat;
update_option('theme_settings',$MyCSS);

そしてそれがなぜあなたは一度だけ "get_option()"関数を呼ぶのか。

    $MyCSS = get_option('theme_settings');
// and use :
    echo $MyCSS['background_color'];

パフォーマンスを考えると、データベースへの呼び出しが大幅に減り、リソースの使用量も減ります。

4
Bainternet