function acf_clone_field($field, $clone_field) { // bail early if no sub fields if (empty($field['sub_fields'])) { return $field; } // loop foreach (array_keys($field['sub_fields']) as $i) { // get sub field $sub_field = $field['sub_fields'][$i]; // clone $sub_field = acf_clone_field($sub_field, $clone_field); // update $field['sub_fields'][$i] = $sub_field; } // return return $field; }
function acf_clone_clone_field($field, $clone_field) { // when cloning a clone field, it is important to also change the _name too // this allows sub clone fields to appear correctly in get_row() row array // - commented out. This may not be neccessary due to new line 315 if ($field['prefix_name']) { $clone_field['name'] = $field['_name']; $clone_field['_name'] = $field['_name']; } // bail early if no sub fields if (empty($field['sub_fields'])) { return $field; } // loop foreach (array_keys($field['sub_fields']) as $i) { // get sub field $sub_field = $field['sub_fields'][$i]; // clone $sub_field = acf_clone_field($sub_field, $clone_field); // update $field['sub_fields'][$i] = $sub_field; } // return return $field; }