在unctions.php中定义css类

时间:2013-03-23 作者:gil hamer

在我的主题中,我使用主题选项将颜色设置为类别(标题颜色、分隔符颜色等),我这样做的方式是定义保存颜色六边形的变量,如下所示:

$category1_color = get_option(\'category1_color\');
$category2_color = get_option(\'category2_color\');
等等。。

在我的管理员中设置颜色(e.g - #ffccoo or yellow) 在一个“主题选项”中,我已经构建了一个客户端,可以在一秒钟内轻松更改每个类别元素的全局颜色。

像这样:

if (is_category("news")) { echo \' style="border-bottom-color:\' . $category1_color . \';"\'; } ?>
现在-我的客户有一个自定义的顶部菜单,其中包含项目(主要是类别)

我希望他也能够改变菜单中文本的颜色。现在,我知道可以将类添加到每个菜单项中(这相当容易),但我不想在CSS文件中创建类,因为它不是动态的,我希望它获取客户已经更改的变量-$category1_color (假设它现在设置为紫色)并将其动态分配给一个名为“category1 item”的类,该类用作菜单项上的类,因此如果客户端稍后在“我的主题选项”中更改颜色,它也会动态更改菜单项的颜色,而无需转到CSS文件并对其进行编辑。

我正在考虑在functions.php 文件,并简单地将我已经创建的变量(已保存颜色)存储在此类中,如下所示:

类别1项目=$类别1\\u颜色

我只是不知道如何将类添加到函数中。php文件,并在每个类中存储一个变量。

有什么想法吗?

1 个回复
SO网友:Johannes Pille

首先,撇开数据的来源(WordPress主题选项)不谈,这个问题基本上是关于通用PHP和CSS的。

话虽如此,但方法如下:

PHP样式表向主题中添加一个新文件,称之为“dynamic\\u styles.PHP”等。请注意,虽然它将主要包含CSS,但您可以给它一个.php 文件扩展名
这告诉服务器在将文件提供给客户端之前,先用PHP解释器解析文件。

在新文件的第一行中,您将内容类型设置为“css”:

<?php
    header("Content-type: text/css; charset: UTF-8");
?>
然后,像通常一样获取值(使用上面的示例):

<?php
    header("Content-type: text/css; charset: UTF-8");

    $category1_color = get_option(\'category1_color\');
    $category2_color = get_option(\'category2_color\');
?>
现在,在以后的CSS中使用这些内容,就像使用HTML标记一样:

 div.cat-1 {
    border-bottom-color: <?php echo $category1_color; ?>;
 }
警告尽管上述方法可以完美地工作,但如果变量具有静态值,则必须在样式表中额外使用WP函数。

已经解释了如何进行in this excellent answer.

结束

相关推荐

我的css、页脚和页眉没有显示!

当我在WordPress上的管理员中激活我的主题时,我的CSS、页眉和页脚都不会显示。我真的不知道问题出在哪里,因为我遵循了教程的所有步骤。header.php<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999