在我的模板上,我有一个字段,用户可以选择并选择其网站的背景。
这是从数组中的ID background-one
调用的。
我的问题是,如果仅向用户提供以下选项,我将如何正确地将其输出到我的CSS的head部分:
1)只选择背景颜色
背景:#990000;
2)仅选择背景图像
background:url(../ images / example.jpg)no-repeat左上角滚动;
3)或选择背景颜色和图像
背景:#990000 url(../ images / example.jpg)no-repeat左上角滚动;
这是我目前的代码片段,用于将脚本输出到css head部分:
<?php $background = of_get_option('background-one'); {
if ($background['color'] || $background['image']) {
echo 'body {
background: ' . $background['color'] . ' url(' . $background['image']. ') ' .$background['repeat']. ' ' .$background['position']. ' ' .$background['attachment']. ';';
}
else if ($background['color']) {
echo 'body {
background: ' . $background['color']. ';';
}
else if ($background['image']) {
echo 'body {
background: ' . 'url(' . $background['image']. ') ' .$background['repeat']. ' ' .$background['position']. ' ' .$background['attachment']. ';';
};
}
?>
但有了这个,结果是:
1)只选择背景颜色
背景:#990000 url()no-repeat左上角滚动;
2)仅选择背景图像
背景:
网址(../ images / example.jpg)无重复左上方滚动;
3)或选择背景颜色和图像
背景:#990000 url(../ images / example.jpg)no-repeat左上角滚动;
由于我是编写PHP的新手,我如何重新处理上面的代码片段以获得我想要的结果?
答案 0 :(得分:2)
更改以下内容:
if ($background['color'] || $background['image']) {
对此:
if ($background['color'] && $background['image']) {
您的代码段无法正常工作的原因是因为“||”等于“OR”,这意味着如果设置了“$ background ['color']”或“$ background ['image']”,则if语句将适用。
使用“&amp;&amp;”相反,在英语中表示“AND”,只有在设置了“color”和“image”时才会使if语句适用。