我有一个简单的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 } ;?>
答案 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 } ;?>