私はcssを動的に印刷する簡単な関数を作成しました。私は、それほど良い解決策があると思います。だから、誰かが私に良い方法を勧めてくれましたか?動的CSSのPHP関数を生成
これらはCSSセレクタのプロパティ&の値です。
$css_opts = array(
'topbar' => array(
'selector' => '#topbar',
'property' => array(
array(
'property_name' => 'color',
'property_value' => '#fff',
),
array(
'property_name' => 'background-color',
'property_value' => '#fff',
),
array(
'property_name' => 'border-color',
'property_value' => '#fff',
),
),
),
'main-bg' => array(
'selector' => '#main-bg',
'property' => array(
array(
'property_name' => 'color',
'property_value' => '#fff',
),
array(
'property_name' => 'background-color',
'property_value' => '#fff',
),
array(
'property_name' => 'border-color',
'property_value' => '#fff',
),
),
),
);
これは、CSSである私は、この関数を作成する理由は、CSSでのPHPファイルに複数の時間条件のチェックを回避することである
function zb_css_dynamically($css_opts) {
if (isset($css_opts)) {
foreach ($css_opts as $key => $value) {
if (isset($value['selector'])) {
echo $value['selector'];
echo '{';
foreach ($value['property'] as $property) {
echo $property['property_name'] . ':' . $property['property_value'] . ';';
}
echo '}';
}
}
}
}
機能を生成。たとえば、ファイル名がcustom-style.phpであるとします。私が新しいCSSプロパティを追加したいときはいつでも条件付きで私を忙しくすることができます。
<?php header("Content-type: text/css");
require_once('../../../../../wp-load.php');
?>
<?php if (function_exists('smarkt_data')) {
$opts = fw_get_db_customizer_option(); ?>
/*** Site Color ***/
.main-bg {
<?php
if (! empty($opts['site_main_color_field'])) {
echo 'background-color:' . $opts['site_main_color_field'] . ';';
}
?>
}
.main-text-color {
<?php
if (! empty($opts['site_main_text_color_field'])) {
echo 'color:' . $opts['site_main_text_color_field'] . ';';
}
?>
}
<?php
}
ええ、私はそれが答えではないことを知っています:Dしかし、私はむしろJSでそれをしたいと思います。ローカルストレージに保存する方法はありません(最終的にはajaxで変更して適用するだけです)? phpはフロントエンドで分けられるべきです。 – artur99