0

我目前正在我正在开发的 wordpress 网站上使用高级自定义字段插件,事实证明它非常有用。

我购买了中继器插件,它帮助我生成了工作人员列表。但是我想工作人员不会总是有可用的图像,所以我想使用后备图像或使用在线占位符图像服务,如http://placehold.it

这是代码:

                <?php if(get_field('about_the_practioner')): ?>

                <?php while(the_repeater_field('about_the_practioner')): ?>

                <article class="colleague_excerpts">

                         <figure>
                            <?php if(get_field('image')): ?>
                            <img src="<?php the_field('image' ) ?>" alt="<?php the_sub_field('image_alt_text'); ?>">
                            <?php else: ?>
                            <img src="http://placehold.it/160x160&text=Awaiting Image">
                            <?php endif; ?> 

                         </figure>

                        <div class="description">
                            <header>
                                <h4><?php the_sub_field('header')?><span><?php the_sub_field('title')?></span></h4>
                            </header>
                            <p><?php the_sub_field('text') ?></p>
                            <a href="<?php the_sub_field('page_link')?>" class="button"><?php the_sub_field('page_link_text') ?></a>
                        </div>
                    <hr>

                </article>

                <?php endwhile; ?>

                <?php endif; ?>

如果特色图像不可用,我已经看到用于创建后备图像的条件语句。在这种情况下,我在调用图像时尝试了类似的方法,但是我不擅长使用 php,即使填充了图像字段,也只会将后备图像带入网页。任何帮助,将不胜感激。

4

4 回答 4

3

刚刚想通了!我传递给条件语句的函数不正确!我正在使用高级自定义字段的转发器字段功能,并且应该为上述所有值传递 get_sub_field 。那些小事让你大吃一惊!

<?php if(get_sub_field('image')): ?>
<img src="<?php the_sub_field('image' ) ?>" alt="<?php the_sub_field('image_alt_text'); ?>">
<?php else: ?>
<img src="http://placehold.it/160x160&text=Awaiting Image">
<?php endif; ?>
于 2013-03-16T11:00:34.087 回答
0

虽然我不知道其中一些函数返回什么,但无论是否有图像,函数get_field('image')都可能返回一些东西,所以不是

<?php if(get_field('image')): ?>
<img src="<?php the_field('image' ) ?>" alt="<?php the_sub_field('image_alt_text'); ?>">
<?php else: ?>
<img src="http://placehold.it/160x160&text=Awaiting Image">
<?php endif; ?> 

也许试试

<?php if(!empty(the_field('image'))): ?>
<img src="<?php the_field('image' ) ?>" alt="<?php the_sub_field('image_alt_text'); ?>">
<?php else: ?>
<img src="http://placehold.it/160x160&text=Awaiting Image">
<?php endif; ?> 

如果图像为空,则返回占位符。

于 2013-03-15T20:41:01.547 回答
0

我可能数错了,事实上我是。忽略这个答案。我认为括号不匹配,并且生成的 HTML 中的问题导致了问题。乔尼·比奇(Jonny Beech)已经解决了。

于 2013-03-16T11:09:49.203 回答
0

尝试这个

 <?php 
$image = get_field('banner');
if( !empty($image) ): 
?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>"/>
<?php else: ?>
<?php 

 echo "no image";?>


<?php endif; ?>
于 2016-06-16T09:47:24.713 回答