IF语句不会落入带有选项框架的Else

时间:2013-07-24 作者:Steve

我使用选项框架让主题用户能够上传自己的背景图像。

我有一个图像上传选项,选项ID=page\\u background。

在标题中。php,我有:

<?php if (of_get_option(\'page_background\', \'no entry\')) { ?>
<style>
body {
 background: url(<?php echo of_get_option(\'page_background\', \'no entry\');?>) no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
</style>
<?php } else { ?>
<style>
body {
 background: url(<?php echo get_template_directory_uri(); ?>/images/bodybg.jpg) no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
</style>
<?php } ?>
目前,没有上载背景图像,因此IF语句应返回false,并继续执行ELSE部分,其中应用了预定义的背景图像。

但是,前端返回代码:background: url(no entry)

我在另一个主题上使用了完全相同的代码,它很有效。

你知道这个主题有什么不对吗?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

你在强迫of_get_option 要在所有情况下返回值,请设置第二个参数,这是在选项不存在的情况下要返回的默认值。如果希望在没有值的情况下计算为false,请删除第二个参数:

if (of_get_option(\'page_background\')){

结束

相关推荐