我正在显示这样的自定义字段:
<div class="blog_text">
<img src="<?php the_field('imagen_prensa'); ?>" />
</div>
我想只在用户上传图片时才显示img,因为现在如果没有图片则会出现损坏的图片符号。
我尝试了以下方法,但它无效:
<?php if (get_field('imagen_prensa') != ''): ?>
<img src="<?php the_field('imagen_prensa'); ?>" />
<?php endif; ?>
任何可以实现的目标吗?
修改
这是现在使用下面的答案的代码,但现在只给出一个空白页面:
<div id="blog_interior">
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<article>
<div class="article_date"><?php the_time('d/m/Y'); ?></div>
<h2><?php echo get_the_title(); ?></h2>
<div class="blog_text">
<?php if ( !empty(the_field('imagen_prensa')) ): ?>
<img src="<?php echo the_field('imagen_prensa'); ?>" />
<?php endif; ?>
<div class="video_prensa"><?php the_field('video_prensa'); ?></div>
<?php the_content() ?>
</div>
</article>
<?php endwhile; ?>
<div class="back">
</div>
</div>
答案 0 :(得分:6)
empty empty - 确定变量是否为空
if (!empty(get_field('imagen_prensa'))) {
// Display image
}
答案 1 :(得分:2)
尝试使用empty()而不是与空字符串进行比较。
<?php if (empty(get_field('imagen_prensa')) === false): ?>
<img src="<?php echo the_field('imagen_prensa'); ?>" />
<?php endif; ?>
empty()还会检查可能会返回的值null
或false
。如果字段只包含空格,您也可以trim()
字符串。
答案 2 :(得分:2)
您忘记了回显实际打印the_field('imagen_prensa')的结果。
使用此:
<?php if ( !empty(the_field('imagen_prensa')) ): ?>
<img src="<?php echo the_field('imagen_prensa'); ?>" />
<?php endif; ?>
我已经编辑了你的代码,看起来更合乎逻辑的东西也增加了echo缺失的地方。我不习惯这些结构:
<?php while ( have_posts() ) : the_post(); ?>
所以我真的不确定它是否正常工作,但你可以通过var_dump(has_posts())等var_dump来检查这些变量输出的内容;
您编辑的代码:
<div id="blog_interior">
<?php /* Start the Loop */ ?>
<?php foreach( $posts as $post ): ?>
<div class="article_date"><?php echo the_time('d/m/Y'); ?></div>
<h2><?php echo get_the_title(); ?></h2>
<div class="blog_text">
<?php if ( !empty(the_field('imagen_prensa')) ): ?>
<img src="<?php echo the_field('imagen_prensa'); ?>" />
<?php endif; ?>
<div class="video_prensa"><?php the_field('video_prensa'); ?></div>
<?php echo the_content() ?>
</div>
<?php endforeach; ?>
<div class="back">
</div>
</div>
答案 3 :(得分:0)
根据您的要求,您已在用户中将默认图片设置为no image。 如果用户已上传图像,则显示自己的图像。
看到此链接可能对您有所帮助。 PHP: How to display a default Image if the specified one doesn't exists?