Users are global in a multisite. And default ACF groups are per site. So if you set a pinterest url for a user on one site it will apply it for all sites. No problem. But if you set an image it will try to find that image-id on each site.
The solution.
Step 1; Limit the user acf groups only to the main site:
<?php
function wpstarter_filter_fields_group($result, $rule, $screen) {
if ( isset( $screen['user_id'] ) && ! is_main_site() )
return false;
return $result;
}
add_filter('acf/location/rule_match', 'wpstarter_filter_fields_group', 10, 3);
Step 2; Get image fields for users only from the main site:
<?php
function wpstarter_load_avatar_value_cros_site( $value, $post_id, $field ) {
if( 0 !== strpos( $post_id, 'user_' ) || is_main_site() ) {
return $value;
}
switch_to_blog( get_main_site_id() );
$value_of_main_site = acf_get_value($post_id, $field);
$value = acf_format_value($value_of_main_site, $post_id, $field);
restore_current_blog();
return $value;
}
add_filter( 'acf/format_value/type=image', 'wpstarter_load_avatar_value_cros_site', 11, 3);