Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将值导入cssstyle.php文件?_Php_Css_Wordpress_Variables - Fatal编程技术网

如何将值导入cssstyle.php文件?

如何将值导入cssstyle.php文件?,php,css,wordpress,variables,Php,Css,Wordpress,Variables,所以我在创建这个wordpress主题时遇到了一个与php相关的问题(我想) 我为用户创建了一个选项面板,用户可以在其中确定主主题颜色。 对于测试,我将值#008A00放在那里 现在我已经在PHP文件中使用了CSS,所以我可以使用变量——只要我只使用文件中的值,它就可以很好地工作 因此,以下代码起作用: <?php header('Content-type:text/css'); $color = '#008A00'; ?> #logo .rect { display:inlin

所以我在创建这个wordpress主题时遇到了一个与php相关的问题(我想)

我为用户创建了一个选项面板,用户可以在其中确定主主题颜色。 对于测试,我将值#008A00放在那里

现在我已经在PHP文件中使用了CSS,所以我可以使用变量——只要我只使用文件中的值,它就可以很好地工作

因此,以下代码起作用:

<?php

header('Content-type:text/css');
$color = '#008A00';
?>

#logo .rect {
display:inline-block;
height:45px;
width:15px;
background: <?php echo $color ?>;
margin: 0px 5px 0px 0px;
}

#logo.rect{
显示:内联块;
高度:45px;
宽度:15px;
背景:;
保证金:0px 5px 0px 0px;
}
当我尝试调用用户设置的值时,问题开始了,如下所示:

<?php

header('Content-type:text/css');
$color = get_option('shoboto_maincolor');
?>

如果我这样说(我还尝试了$color=print get_option('shoboto_maincolor');和$color=echo get_option('shoboto_maincolor');),不仅颜色会消失,而且所有其他样式也会消失,即使不依赖变量

我的第一个想法是,我在选项或其他地方犯了错误,因此为了测试,我将代码放在:

<?php print get_option('shoboto_maincolor'); ?>

在footer.php中,它显示值#008A00,没有任何问题


问题可能是cssstyle.php与shoboto-options.php放在一个文件夹中,而不是放在同一个文件夹中,函数从用户那里获取值?还是我做错了什么?请告知。

我首先检查$color变量中的内容,以确保它符合您的期望

比如说

<?php
header('Content-type:text/css');
$color = get_option('shoboto_maincolor');

if (!$color==='#008A00')
{
  // DO SOMETHING - Color is NOT what was expected
}
?>

运行代码并选择特定的颜色,我希望您会发现它不是正确的变量内容
我不熟悉Wordpress,因此不确定如何处理IF语句中的错误信息

您可能会遇到致命错误,因为您的css php脚本中不包含Wordpress框架。如果没有框架,php不知道什么是
get\u option
和错误,请查看错误日志,您应该会看到其中关于get\u option不是函数的错误。将该CSS文件包含在内,我该怎么做?这样地?赞成的回答是:我试过类似的方法,同样的结果。一定是出了什么问题,因为样式完全停止应用,而不仅仅是颜色
我可以理解为什么样式可能会因为其他一些更改而变得混乱[$color=print get_option('shoboto_maincolor');和$color=echo get_option('shoboto_maincolor');)]但是-如果它像您所说的那样在php文件中指定$color=''008A00',那么唯一的问题就是变量$color中有什么。我不会偏离这一点去发现问题。很容易混淆。另一种可能是,$color可能不是最好的名称,当您调用选项('shoboto_maincolor')时,它可能会在其他地方被覆盖。请尝试使用更独特/独特的变量名,例如$xyz_onceoff_color,这在其他地方不太可能使用