0

所以我正在创建这个 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 位于同一文件夹中,函数从用户那里获取值?还是我做错了什么?请指教。

4

1 回答 1

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 语句中的错误信息

于 2013-09-20T11:13:30.607 回答