ACF Post对象为空返回

时间:2019-06-12 17:17:02

标签: wordpress advanced-custom-fields custom-post-type

我有一个名为“ Projects”的自定义帖子类型,并且在single-project.php视图内想显示与Project相关的帖子。 我试图通过使用ACF的Post Object解决该问题,但是从The Loop中什么也没得到。 我在Stackoverflow和AFC支持页面上搜索了解决方案,但没有发现问题。

也许这个“ Post Object”选项甚至不是为这样的东西创建的。我不知道。

single-project.php中的代码


if( $post_object ):

    // override $post
    $post = $post_object;
    setup_postdata( $post );

    ?>
    <div>
        <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    </div>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

ACF配置 https://i.imgur.com/FNnUbiw.jpg

新帖子配置 https://i.imgur.com/IHQqR0P.jpg

自定义帖子类型输出 https://i.imgur.com/YFugBZl.jpg

我想显示与该项目相关的帖子。

1 个答案:

答案 0 :(得分:0)

由于您允许该字段使用多个值,因此获得的值将位于数组中。并且由于您已设置返回值作为post对象,因此获得的值将是对象数组。获取数组后,您可以遍历这些数组以显示相关项目。

<div class="related-projects">
    <?php
    $projects = get_field( 'povezani_projekt' );
    global $post;
    ?>
    <?php if ( ! empty( $projects ) ) : ?>
        <h3>Related Projects</h3>
        <?php foreach ( $projects as $post ) : ?>
            <?php setup_postdata( $post ); ?>
                <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
            <?php wp_reset_postdata(); ?>
        <?php endforeach; ?>
    <?php endif; ?>
</div><!-- .related-projects -->