我正在使用wp_get_attachment_image为企业列表中的企业带来徽标。如果没有徽标,我想显示默认图像。
我知道这不起作用并尝试了几种变体:
<?php $businessLogo = wp_get_attachment_image($business['logo']);?>
<?php if(empty ($businessLogo)) { ?>
<img src="<?php echo esc_url( home_url( '/' ) ); ?>wp-content/themes/child-theme/images/no_image.png" alt="<?php echo $business['name']; ?>" />
<?php } else { echo wp_get_attachment_image($business['logo']) } ?>
我很感激任何建议
答案 0 :(得分:1)
wp_get_attachment_image()
在失败时返回一个空字符串,请尝试以下操作:
<?php if ( $businessLogo != '' ) { ?>
<!-- Display your business logo here -->
<?php } else { ?>
<!-- Display your default image here -->
<?php } ?>
参考:http://codex.wordpress.org/Function_Reference/wp_get_attachment_image
答案 1 :(得分:1)
试试这个:
<?php if ( $businessLogo != '' ) {
echo wp_get_attachment_image($business['logo']);
} else { ?>
<img src="<?php echo esc_url( home_url( '/' ) ); ?>wp-content/themes/child-theme/images/no_image.png" alt="<?php echo $business['name']; ?>" />
<?php } ?>
这应该有效,因为如果没有设置,wp_get_attachment_image
会返回一个空字符串。
在WordPress Codex上阅读有关wp_get_attachment_image的更多信息。
答案 2 :(得分:0)
也试试这个
我觉得这对你很有帮助
<?php if (isset($businessLogo)) {
echo wp_get_attachment_image($business['logo']);
} else { ?>
<img src="<?php echo esc_url( home_url( '/' ) ); ?>wp-content/themes/child-theme/images/no_image.png" alt="<?php echo $business['name']; ?>" />
<?php } ?>