Hello old thread!
FYI, this is now easier using the update_row function
instead of:
update_sub_field( array( ‘repeaterfieldkey’, $index, ‘subfieldkey’ ), $temp_map), $post_id );
Do this:
$row = array(
'repeater_child_fieldname' => $temp_map,
'repeater_child_fieldname2' => etc....,
);
update_row( 'repeater_name_or_key', $index, $row, $post_id );