【问题标题】:ACF: Display values outside the main loopACF:在主循环之外显示值
【发布时间】:2021-08-07 11:19:28
【问题描述】:

我正在编写一个主题,该主题使用带有特殊模板的页面上的存档。在存档结果的上方(这也意味着在循环之外)我想显示一些自定义字段的值。 (例如“intro”字段的值。我尝试创建一个额外的循环并显示值,但没有结果。有人看到错误吗? 谢谢! 拉斐尔 这是我最后尝试的:

<div class="newsearch_intro">
        <?php global $post; 
            $args = array('numberposts'=>'1'); 
            $custom_posts = get_posts($args);
            foreach($custom_posts as $post) : setup_postdata($post);
            the_field('intro');
            endforeach;
        ?>          
</div>

【问题讨论】:

    标签: wordpress advanced-custom-fields


    【解决方案1】:

    尝试使用the_field() / get_field() 将帖子 ID 作为第二个参数:

    <div class="newsearch_intro">
        <?php
            global $post;
            the_field('intro', $post->ID);
        ?>          
    </div>
    

    【讨论】:

    • 不,抱歉,不起作用。对于您将 ID 添加为第二个参数的建议,我有很多不同的组合,但它们都不起作用。我有回声,有一个完整的新循环等等。没有任何效果。我总是可以对其进行硬编码,但我希望管理员可以选择更改内容。但是 ACF 支持也无法解释如何做到这一点。
    • 您的自定义字段是帖子还是其他类型的术语?此外,您确定 ACF 的 ID 正确(“intro”),并且该字段在您正在测试的帖子上设置了值吗?我已经使用 ACF 多年了,它是一个非常可靠的插件。尝试添加 echo 'post id is: ' 。 $post->ID;就在你的代码中的 the_field() 之前,看看你是否得到任何东西。
    • 感谢您的所有想法。我不得不到处说“是”。只有一件事:它既不是帖子也不是页面,而是在用于页面的模板中使用,但该页面列出了某些类别的所有帖子,如果人们查找某些信息,则会额外过滤。该过滤器基于 AJAX。好吧,随你便。我想我会对其进行硬编码。还是谢谢。
    猜你喜欢
    • 2012-11-16
    • 1970-01-01
    • 2021-06-23
    • 2013-12-22
    • 2011-02-08
    • 2021-03-09
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多