仅在通过自定义字段添加内容时显示<li>

时间:2012-05-04 作者:Tyler

我已经讨论了其他一些类似的话题,但任何解决方案都不适合我。

基本上,如果自定义字段中添加了信息,我只想显示一个。

这是我的代码,即使你没有给我一个答案,你能告诉我正确的方向吗。

<div class="height">
<div class="fourcol">
<p class="business"><?php the_field(\'helpline_name\'); ?></p>                                                       <div class="category"><p>AREAS OF HELP: <?php the_category(\', \') ?></p> </div>
                                            <p><?php the_field(\'helpline_address\'); ?></p>
</div>
<div class="fivecol">
<p class="phone"><?php the_field(\'helpline_phone_number\'); ?></p>
                                                   </div>                       
<div class="threecol last">
                                              <ul>
                                            <li><a href="http://<?php echo the_field(\'helpline_url\'); ?>" class="tiptip web" title="<?php echo the_field(\'helpline_url\'); ?>" target="_blank"><?php echo the_field(\'helpline_url\'); ?></a></li>
                                            <li><a href="" class="tiptip comments" title="read comments from others" target="_blank"><?php echo the_field(\'helpline_comments\'); ?></a></li>
                                            <li><a href="mailto:<?php echo the_field(\'helpline_email\'); ?>" class="tiptip email" title="email us your problem"><?php echo the_field(\'helpline_email\'); ?></a></li>
                                        </ul>

提前谢谢Tyler

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

这真的是一个PHP 问题比WordPress 问题但是,基于此示例代码:

<li><a href="http://<?php echo the_field(\'helpline_url\'); ?>" class="tiptip web" title="<?php echo the_field(\'helpline_url\'); ?>" target="_blank"><?php echo the_field(\'helpline_url\'); ?></a></li>
。。。看来the_field() 函数返回一个值(因为您随后回显了该返回值)。因此,只需将整个<li> 在条件中输出,使用the_field():

<?php
if ( the_field( \'helpline_url\' ) ) {
    ?>
    <li><a href="http://<?php echo the_field(\'helpline_url\'); ?>" class="tiptip web" title="<?php echo the_field(\'helpline_url\'); ?>" target="_blank"><?php echo the_field(\'helpline_url\'); ?></a></li>
    <?php
}
?>

SO网友:akamaozu

我会用这样的条件语句包装输出。

<?php if( empty(the_field(\'helpline_url\')) ) : ?>  

<li>
<a href="http://<?php echo the_field(\'helpline_url\'); ?>" 
class="tiptip web" title="<?php echo the_field(\'helpline_url\'); ?>" 
target="_blank">
<?php echo the_field(\'helpline_url\'); ?>
</a>
</li>
<?php endif; ?>
这基本上可以转化为:

检查是否the_field(\'helpline_url\') 为空。

如果它不是空的,那么后面是do: (生成列表项的html)

可能有拼写错误或其他错误,因此请进行三次检查,确保我没有犯错误,但这是您要查找的代码结构。

结束

相关推荐