所以我正在创建这个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;
}
当我尝试像这样调用用户设置的值时,问题就出现了:
<?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所在的文件夹中,其中函数从用户那里获取值?或者我做错了什么?请指教。
答案 0 :(得分:0)
我首先检查$ 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语句中的错误信息采取行动