Question

I'm trying the following, as from http://www.advancedcustomfields.com/resources/field-types/post-object/, but it only outputs empty divs:

<?php $post_objects = get_field('project_experts');

if( $post_objects ): ?>
    <div class="row expert">
    <?php foreach( $post_objects as $post): ?>
    <?php setup_postdata($post); ?>
        <div class="mt-one-half">
            <h3><a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a></h3>
            <?php the_excerpt(); ?>
        </div>
    <?php endforeach; ?>
    <?php wp_reset_postdata(); ?>
    </div>
<?php endif; ?>

However I know the info is there as when I try <?php print_r( get_field('project_experts') ); ?> I get:

Array ( [0] => Array ( [project_expert] => WP_Post Object ( [ID] => 763 [post_author] => 1 [post_date] => 2014-03-27 17:57:29 [post_date_gmt] => 2014-03-27 17:57:29 [post_content] =>

etc etc.

Any pointers for grabbing values from the array?

Thanks!

Was it helpful?

Solution

You're close. You just need to go one level deeper into the array that get_field is returning.

<?php foreach( $post_objects as $array): ?>
    <?php foreach( $array as $obj): ?>

<?php setup_postdata($obj); ?>
    <div class="mt-one-half">
        <h3><a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a></h3>
        <?php the_excerpt(); ?>
    </div>
    <?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endforeach; ?>
//etc... as before
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top