PHP如果Else始终显示ELSE并打印变量

时间:2014-04-26 20:08:53

标签: php wordpress if-statement

我有一个插件让我获得自定义字段。我正在工作的主题是一本杂志,一些作家有推特账户,有些则没有。

我希望在每种情况下都显示不同的方框。

这是我的代码:

    <?php
    $twit = the_field('twitter'); 
    ?>

    <?php 
        if (!empty($twit)) { 
    ?>

                     <p> <?php the_field( 'autor' ); ?>  |  <a href="https://twitter.com/<?php echo rawurlencode ( the_field( 'twitter' )); ?>" class="twitter-follow-button" data-show-count="false" data-lang="es" data-dnt="true">Seguir a @<?php echo rawurlencode ( the_field( 'twitter' )); ?></a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>  |  <?php the_field( 'fotos' ); ?>  |</p>

    <?php } else { ?>

           <p>Nothing to see here</p>

    <?php } ?>

这里的“没什么可看的”段落只是为了测试,这个想法是从autor和fotos获取信息并创建一个不同的句子。

我对这段代码的问题在于,在任何情况下,我都没有看到这里的消息,如果twit字段存在,它会被打印出来,并且从试验和错误中看,它从我创建时开始打印变量$twit

1 个答案:

答案 0 :(得分:1)

你使用了错误的功能。

the_field将回显该字段的内容,而不返回任何内容。如果您希望它返回一个值,则需要使用get_field代替。

尝试:

$twit = get_field('twitter'); 

WordPress有许多具有相当相似名称的函数,值得花一点时间阅读文档。通常,返回值的函数始终以get_开头。