我无法多次调用Advanced Custom Fields get_field()方法。我已经成功查询了自定义帖子类型,但是当我对单个字段(它们是帖子对象字段)进行查询时,它会正确输出第一个查询字段,但随后的查询字段都不会输出。
自定义帖子查询:
function single_meal_plan_loop() {
$args = array(
'post_type' => 'ad_meal_plans',
//'posts_per_page' => 1,
'post_status' => 'publish',
'name' => 'meal-plan-test-1'
);
$meal_plan_posts = new WP_Query($args);
if ( $meal_plan_posts->have_posts() ) {
while( $meal_plan_posts->have_posts() ) {
$meal_plan_posts->the_post();
get_template_part( 'template-parts/content', 'accordianMealPlanList' );
}
wp_reset_postdata();
}
}
single_meal_plan_loop();
单个字段查询:
$post_object = get_field('breakfast_day_1');
if( $post_object ):
// override $post
$post = $post_object;
setup_postdata( $post );
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<!--field #2- no output to frontend-->
<?php
$post_object_2 = get_field('breakfast_day_2');
if( $post_object_2 ):
// override $post
$post = $post_object_2;
setup_postdata( $post );
?>
我这里缺少什么吗?我试过根据这些文档在自定义帖子查询中添加了一个print_r()调用,它确实显示了帖子,并且所有数据均已正确检索:https://www.advancedcustomfields.com/resources/post-object/。我尝试在第一个自定义字段之后删除对wp_reset_postdata()的调用,因为我认为我可能会一直将查询返回到调用自定义帖子查询的主帖子查询。任何帮助将不胜感激,谢谢