我有一个简单的if
语句来评估图像是否设置为WordPress构建中的徽标。如果返回empty
/false
,则显示位置设置为绝对值的默认图像。
问题是,如果未设置图像,则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 } ;?>
我猜测若语句失败,因为您将$logo
变量视为字符串。
看起来您使用的是$logo
变量作为数组,如果您想检查它是否为空,可以使用PHP的is_null()
函数。
顺便说一句,我们不能这样理解你的问题,你应该更具体一些。分享你的错误或警告信息,它的行为方式等。
在定义变量$logo时,通过特别引用图像数组的url,找到了一个解决方案。通过这种方式,IF正在评估图像的URL。
问题似乎是,最初的IF被评估为TRUE,但显然没有返回URL,因为这不是$logo中最初指定的。通过在"header_logo"数组中查找URL,它纠正了问题。
<?php
$logo = $wp_options['header_logo']['url'];
if(isset($logo) && ($logo !='')) { ?>
<img src="<?php echo $logo; ?>">
<?php } else { ?>
<img src="<!-- Image Location -->">
<?php } ;?>