我正在使用Wordpress和高级自定义字段插件来创建图库缩略图。有9个可能的上传字段,但只需要第一个。
目前我遇到一个问题,其中任何字段都是空的,它仍在输出img
标签但显示损坏的图像(因为没有图像)。
我需要创建一个if
语句,如果字段有src
(或者字段不为空),则只输出HTML。
这是我目前的代码,其中有9个:
<li>
<div class="portfolioPicker">
<?php $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail'); ?>
<img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
</div>
</li>
我已经为PHP if语句找到了一段很好的代码,但我很难让它使用我当前的输出代码:
<?php if( get_post_meta($post->ID, "mycustomfieldname", true) ): ?>
<?php echo get_post_meta($post->ID, "mycustomfieldname", $single = true);?>
<?php else: ?>
<?php endif; ?>
答案 0 :(得分:2)
以下是三种可能的解决方案,只有在设置了数组键时才显示标记:
<li>
<div class="portfolioPicker">
<?php
$image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail');
if($image[0] != NULL)
{
?>
<img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
<?php
}
?>
</div>
</li>
OR
<li>
<div class="portfolioPicker">
<?php
$image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail');
if(is_null($image[0]) == false)
{
?>
<img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
<?php
}
?>
</div>
</li>
OR
<li>
<div class="portfolioPicker">
<?php
$image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail');
if(empty($image[0]) == false)
{
?>
<img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" />
<?php
}
?>
</div>
</li>
您使用哪种功能以及如何使用它取决于空值本身 - 什么是“空”?即
''
,0
,' '
,NULL
可能都是空的。
希望这有帮助。