【问题标题】:ACF - getfield() returns blank valueACF - getfield() 返回空白值
【发布时间】:2017-01-07 15:05:34
【问题描述】:

我用 ACF 安装了这个 WP 遇到 getfield 返回空白值的问题。

这是我在 front-page.php 中的代码

<?php
        $forside_slagord_stor = get_field('forside_slagord_stor');
        $forside_slagord_liten = get_field('forside_slagord_liten');
        $forside_slagord_liter = get_field('om_oss_tekst');
?>
    <header>
    <div class="container">
        <div class="intro-text">
            <div class="intro-lead-in"><?php echo $forside_slagord_stor;?></div>
            <div class="intro-heading"><?php echo $forside_slagord_liter;?></div>
            <a href="#services" class="page-scroll btn btn-xl">Tell Me More</a>
        </div>
    </div>
</header>

这是我的 ACF 设置。

这里是 ACF - forside 设置

结果是返回空值。

感谢您的帮助

【问题讨论】:

  • 我认为代码是正确的!也许你可以在 php 部分尝试 ' -> "" 但我想这不是问题
  • 确保您在当前帖子中。如果不是,您必须将帖子 ID 指定为第二个参数。 get_field($field_name, $post_id);
  • 感谢您的回答。我很确定我在当前职位上。是不是我需要在此代码触发之前需要 som acf 文件?还是我在 localhost 上开发?

标签: php wordpress advanced-custom-fields


【解决方案1】:

get_field中没有第二个参数,你需要在循环中,你似乎不在。

如果你的代码在页面顶部,需要添加post ID参数,需要使用global $post;获取。

<?php
    global $post;

    $forside_slagord_stor = get_field('forside_slagord_stor', $post->ID);
    $forside_slagord_liten = get_field('forside_slagord_liten', $post->ID);
    $forside_slagord_liter = get_field('om_oss_tekst', $post->ID);
?>
<header>
<div class="container">
    <div class="intro-text">
        <div class="intro-lead-in"><?php echo $forside_slagord_stor;?></div>
        <div class="intro-heading"><?php echo $forside_slagord_liter;?></div>
        <a href="#services" class="page-scroll btn btn-xl">Tell Me More</a>
    </div>
</div>

关于您的评论的另一个答案:您不需要包含任何 acf 文件,当模板即将呈现时,通常会加载所有插件文件和资产。

希望对你有帮助!

【讨论】:

  • 谢谢先生。你的回答很有帮助。起初我没有页面“连接到首页,所以 post_id 是空白的。然后我将“forside”设置为静态首页。它就像一个魅力。非常感谢!
猜你喜欢
  • 2017-05-28
  • 1970-01-01
  • 2019-10-27
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 2016-06-29
相关资源
最近更新 更多