【问题标题】:ACF: Obtain data from repeater which is in nested groupACF:从嵌套组中的转发器获取数据
【发布时间】:2021-01-02 23:55:07
【问题描述】:

我正在尝试从 repeater 获取数据,但收到 Array to string conversion 错误,不确定原因。

我的repeater 嵌套在两个groups 中。这是 ACF 后端供参考:

welcome_screen 是父级group

terms_for_the_survey 是孩子group

terms_for_the_survey 组内,您可以看到名为terms_listing 的转发器。这个repeater 只是有一个text 选项,见下文:

现在,我只是想创建一个 ul 列表,其中包含 repeater 中的项目。这是我尝试过的:

<?php

  $welcome_screen = get_field('welcome_screen'); // parent group

  if ($welcome_screen):
    $title        = $welcome_screen['title'];
    $standfirst   = $welcome_screen['standfirst'];

    $terms_group    = $welcome_screen['terms_for_the_survey']; // child group
    $terms_text     = $terms_group['terms_text'];
    $terms_repeater = $terms_group['terms_listing'];

    // var_dump($terms_repeater);

  endif;

?>


<div class="screen">
  <p><?php echo $terms_text; ?></p>

  <?php if( have_rows($terms_repeater) ) : ?>
    <ul>
      <?php while( have_rows($terms_repeater) ) : the_row();
        $text = get_sub_field('terms'); ?>

        <li><?php echo $text; ?></li>

      <?php endwhile; ?>
    </ul>
  <?php endif; ?>

</div>

但是,如前所述,我收到 Array to string conversion 错误,看起来在线:&lt;?php if( have_rows($terms_repeater) ) : ?&gt;

有什么想法吗?

【问题讨论】:

    标签: php wordpress advanced-custom-fields


    【解决方案1】:

    have_rows($terms_repeater) 返回字符串或布尔值,这不是数组,你有

    数组到字符串的转换

    检查返回 $terms_repeater 和 have_rows($terms_repeater) 的内容

    例子:

    <div class="screen">
      <p><?php echo $terms_text; ?></p>
    <?php 
      var_dump($terms_repeater);
      var_dump(have_rows($terms_repeater));
    ?>
      <?php if( have_rows($terms_repeater) ) : ?>
        <ul>
          <?php while( have_rows($terms_repeater) ) : the_row();
            $text = get_sub_field('terms'); ?>
    
            <li><?php echo $text; ?></li>
    
          <?php endwhile; ?>
        </ul>
      <?php endif; ?>
    
    </div>
    

    【讨论】:

    • 嗨,var_dump($terms_repeater); 返回一个包含转发器值的数组,因此它会在转发器中打印一个文本值数组。执行var_dump(have_rows($terms_repeater)); 返回Array to string conversion 错误
    猜你喜欢
    • 2021-04-08
    • 2020-05-15
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多