WordPress IF语句是';t输出ELSE


WordPress IF statement isn't outputting ELSE

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