如何通过管理面板修改css文件?

时间:2011-03-21 作者:Wordpressor

所有主题样式都很时尚。css文件。

假设第一行看起来像:

body {
    background-color: #fff;
}
现在,我在管理面板中创建了一个名为body\\u bg的选项。用户在那里键入#000,我想要样式中的值。更改css。

我如何做到这一点?

对我来说,最简单的方法就是重命名样式。css到。php,只需执行以下操作:

<?php header("Content-type: text/css"); ?>

body {
     background-color:  <?php echo get_option(\'body_bg\');?>   ;
    }
然后只是链接样式。空样式的php。css文件。这是完全正确和有效的,但我从未见过有风格的主题。php文件,那么人们如何动态修改他们的样式表呢?

2 个回复
最合适的回答,由SO网友:anu 整理而成

如果您希望样式是动态的,那么必须按照您的建议发出CSS文件。然而,由于WordPress经常使用样式。css作为主题定义文件,重命名样式。php可能会导致问题。

最好将所有“动态”定义收集到一个单独的文件(例如dynamic styles.php)中,然后从主样式中导入它们。css文件通过@import(url),

SO网友:t31os

我个人会做的是,只要设置了样式的主题选项,就在头部添加额外的CSS。

所有主题(或编码良好的主题)都将其样式表放在wp_head, 这意味着我们可以可靠地(半)钩住并添加一些额外的样式,这些样式将覆盖主题的自然(默认)样式。。

// Get the option once
$css_option = get_option( \'your_option\' );

// Add action when there\'s a non-empty value
if( !empty( $css_option ) )
    add_action( \'wp_print_styles\', \'custom_css_stuff\' );

function custom_css_stuff() {
    // Bring the data into the scope of the callback function
    global $css_option;
    ?>
<style type="text/css">
body { background-color: <?php echo $css_option; ?>; }
</style>
    <?php
}
这将在主题的样式表之后输出css,这将允许css覆盖样式表设置的任何内容。

仅当选项不为空时才添加该操作,get_option 当选项不存在时,也将返回一个空字符串,因此这包括未设置(空值)或选项不存在。

结束