我正在使用Advaced自定义字段,我有一个自定义帖子类型,它有两个帖子对象字段,也是自定义帖子类型。我正在尝试从一个wp_query中的两个相关post对象获取Data。从第一个post对象获取数据工作正常,但对于第二个,所有值都为NULL。分离wp_queries是一个获得正确值的解决方案,但我想将所有数据保存在特定的数组结构中,因此它必须全部在同一个循环中。在此先感谢您的帮助!
<?php if( $the_query->have_posts() ): ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post();
$post_object = get_field('buehne');
if( $post_object ):
// override $post
$post = $post_object;
setup_postdata( $post );
$buehne_titel = get_the_title(); //This is saved correctly
wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly
endif;
$post_object = get_field('band');
if( $post_object ):
// override $post
$post = $post_object;
setup_postdata( $post );
$band_titel = get_the_title(); //This is NULL
$band_genre = get_field('genre'); //This is NULL
$band_style = get_field('style'); //This is NULL
wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly
endif;
endwhile; endif; wp_reset_query();
答案 0 :(得分:0)
我不确定这是否是答案,但在中使用 wp_reset_postdata() 循环只会导致问题。我认为正在发生的是,在成功找到第一个对象之后,程序会将主查询重置回到开头,这样循环就会返回并再次执行相同的操作。你确定你没有创建无限循环吗?
如果在&#34; endwhile之后放置wp_reset_postdata()或wp_reset_query();&#34;声明,可能会解决问题。抱歉,我没有时间亲自尝试WP环境。祝好运!