首页 > 解决方案 > 无法使用 get_field() wordpress 对单独的帖子对象字段进行多次调用

问题描述

我无法多次调用高级自定义字段 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() 的调用,因为我认为我可能会将查询一直返回到调用自定义帖子查询的主帖子查询。任何帮助将不胜感激,谢谢

标签: wordpressadvanced-custom-fields

解决方案


推荐阅读