Support

Account

Home Forums ACF PRO Populate repeater from options page repeater custom fields Reply To: Populate repeater from options page repeater custom fields

  • You can’t do what you’re attempting. The default value of a repeater sub field cannot be different for each row of a repeater.

    What you need to do is load the entire value of all rows of the repeater.

    Step 1: Set up your repeater so that it must have at least one row. This will ensure that it will have a value after someone has updated a post.

    Step 2: use an acf/load_value filter, you will need the field keys of the repeater and the sub fields.

    
    // the field key of repeater
    add_filter(acf/load_value/key=field_XXXXXXX', 'my_acf_load_field', 20, 3);
    function my_acf_load_field($value, $post_id, $field) {
      if ($value) {
        // if this field has a value then it has already be updated
        return $value;
      }
      // set up values of repeater
      if (have_rows('specifications', 'option')) {
        // initialize rows
        $rows = array();
        while (have_rows('specifications', 'option')) {
          the_row();
          // each row is a nested array using field key => value pairs
          $rows[] = array(
            // field key of the sub field
            'field_YYYYYYY' => get_sub_field('specification_name');
          );
        }
      }
      return $value;
    }