Wordpress 自定义字段未在循环内显示 html

Wordpress custom fields not showing the html inside a loop

我对 PHP 有点陌生,所以不要讨厌我。 我在使用高级自定义字段时遇到问题。

我需要访问用于注册人员的字段,他们可以输入的数据之一是他们的社交网络。但是,这些可以是 0、1、2、3,他们想要的每个社交网络。

我想要一个 "if statement" 检查字段是否填充了一些信息,然后显示它,否则不显示它,但它只显示 "the_field" 文本,它得到去掉它周围的所有 HTML 标签。

这是我在 PHP (have_posts()) 循环中使用的最新代码。

<ul class="social">
<li><a target="_blank" class="facebook" href="<?php the_field('facebook'); ?>">X</a></li>
<li><a target="_blank" class="linkedin" href="<?php the_field('linkedin'); ?>">v</a></li>
<?php 
    $strtwitter = the_field('twitter');
    $strtwitter = strlen($strtwitter);
    if ($strtwitter > 10) :
?>
    <li><a target="_blank" class="twitter" href="<?php the_field('twitter'); ?>">_</a></li>
<?php endif; ?>

这就是显示的内容。应该出现推特鸟:

http://prntscr.com/8k76p3

这是开发者的浏览器控制台源代码,Twitter 标签上没有 HTML 或 PHP:

http://prntscr.com/8k76ry

我做错了什么?

如有任何帮助,我们将不胜感激。谢谢

如果你想将自定义字段数据转换成变量,那么你必须使用 like get_the_field('custom_field_name'); 而不是 like the_field('custom_field_name'); 用下面的代码替换你的代码。

<ul class="social">
    <li><a target="_blank" class="facebook" href="<?php the_field('facebook'); ?>">X</a></li>
    <li><a target="_blank" class="linkedin" href="<?php the_field('linkedin'); ?>">v</a></li>
    <?php 
    $strtwitter = get_field('twitter');
    $strtwitter = strlen($strtwitter);
    if ($strtwitter > 10) :
        ?>
        <li><a target="_blank" class="twitter" href="<?php the_field('twitter'); ?>">_</a></li>
    <?php endif; ?>
</ul>

您必须将 get_field( "text_field" ) 与条件语句一起使用

if( get_field( "text_field" ) ): ?>
    <p><?php the_field( "text_field" ); ?></p>
<?php endif;