WordPress IF语句不输出ELSE

时间:2016-01-03 13:32:44

标签: php wordpress if-statement

我有一个简单的if语句来评估图像是否设置为在WordPress构建中显示为徽标。如果它返回empty / false,则会显示一个默认图片,其位置设置为绝对值。

问题是当图像ISN设置时,else语句失败。我没有收到错误,但返回的代码只是一个没有任何来源的图像标签,即"< img src>"。

以下是声明:

<?php 
$logo = $wp_options['header_logo'];

if(isset($logo) && ($logo !='')) { ?>
    <img src="<?php echo $logo['url']; ?>">
<?php  } else {  ?>
    <img src="wp-content/themes/wpdev/images/logo.png">
<?php } ;?>

2 个答案:

答案 0 :(得分:1)

我想如果语句失败,因为您将$logo变量视为字符串。

您似乎将$logo变量用作数组,如果要查看它是否为空,则可以使用PHP的is_null()函数。

顺便说一句,我们无法通过这种方式了解您的问题,您应该更加具体。分享您的错误或警告信息,行为方式等。

答案 1 :(得分:0)

通过在定义变量$ logo时专门引用图像数组的url找到解决方案。这样,IF就会评估图像的URL。

问题似乎是初始IF被评估为TRUE,但显然没有返回URL,因为这不是最初在$ logo中指定的。通过在&#39; header_logo&#39;中查找网址数组,它纠正了问题。

           <?php 
            $logo = $wp_options['header_logo']['url'];

            if(isset($logo) && ($logo !='')) { ?>
                <img src="<?php echo $logo; ?>">
            <?php  } else {  ?>
                <img src="<!-- Image Location -->">
            <?php } ;?>