我要在另一个帖子对象中显示一个帖子对象。
这对于在另一页面上显示内容(包含帖子对象)很有用。
我希望这可能与重复的wp_reset_postdata无关。
感谢任何想法和建议。
<?php $post_object = get_sub_field('first-loop');
if( $post_object ):
$post = $post_object;
setup_postdata( $post ); ?>
<?php $post_object = get_sub_field('second-loop');
if( $post_object ):
$post = $post_object;
setup_postdata( $post ); ?>
<!-- advanded custom fields -->
<?php wp_reset_postdata();?>
<?php endif; ?>
<?php wp_reset_postdata();?>
<?php endif; ?>
答案 0 :(得分:0)
尝试
<?php $post_object = get_sub_field('first-loop');
if( $post_object ):
$post1 = $post_object; // this should be post object not id, if id then use get_post function and use post object.
setup_postdata( $post1 ); ?>
<?php $post_object = get_sub_field('second-loop');
if( $post_object ):
$post2 = $post_object;
wp_reset_postdata();
setup_postdata( $post2 ); ?>
<!-- advanded custom fields -->
<?php wp_reset_postdata();
setup_postdata( $post1 ); ?>
<?php endif; ?>
<?php wp_reset_postdata();?>
<?php endif; ?>
答案 1 :(得分:0)
我得到了高级自定义字段支持的帮助(谢谢帕特里克!),解决方案如下。这是单本书 [自定义帖子] 上的循环,其中包含一个自定义字段,该字段是一个帖子对象,该字段从另一个列出一系列帖子对象(书籍)的自定义帖子(卖家)获取内容。
<?php $post_object = get_field('post-object');
if( $post_object->ID ): ?>
post-object title: <?php echo $post_object->post_title; ?>
<?php if( have_rows('books', $post_object->ID) ):?>
<?php while ( have_rows('books', $post_object->ID) ) : the_row();?>
<?php $book = get_sub_field('book');
if( $book->ID ):
?>
Title: <?php echo($book->post_title); ?>
<?php echo($book->cover ); ?>
<?php $image = get_field('cover' , $book);
if( !empty($image) ): ?>
<img src="<?php echo $image['sizes']['medium']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php endif; ?>
<?php endif; ?>
<?php endwhile;?>
<?php endif;?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>