我有一个插件,可以让我获得自定义字段。我正在为一本杂志工作,有些作家有推特账号,有些则没有。
我想在每种情况下展示一个不同的盒子。
这是我的代码:
<?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中获取信息,并创建一个不同的句子。
我对这段代码的问题是,在任何情况下,我都会得到Nothing to see here消息,如果twit字段存在,它就会被打印出来,经过反复尝试,它看起来就像是从我创建变量$twit
时打印出来的。
您使用了错误的函数。
_field将回显该字段的内容,而不返回任何内容。如果希望它返回一个值,则需要使用get_field。
尝试:
$twit = get_field('twitter');
WordPress有很多名称相当相似的函数,值得花点时间阅读文档。通常,返回值的函数总是以get_
开头。