/*
* after user registration image set to acf image option of user. acf return type image id or array or url
*/
add_action( ‘gform_user_registered’, ‘add_custom_user_meta’, 10, 4 );
function add_custom_user_meta($user_id, $feed, $entry, $user_pass) {
if ( ‘1’ != $entry[ ‘form_id’ ] ) {
return;
}
if ( empty( $user_id ) ) {
return;
}
$gf_field_id = 5; // 5 return value of file in entry array
$image_url = $entry[ $gf_field_id ];
$upload_dir = wp_upload_dir();
$image_data = file_get_contents( $image_url );
$filename = basename( $image_url );
if ( wp_mkdir_p( $upload_dir[ ‘path’ ] ) ) {
$file = $upload_dir[ ‘path’ ] . ‘/’ . $filename;
} else {
$file = $upload_dir[ ‘basedir’ ] . ‘/’ . $filename;
}
file_put_contents( $file, $image_data );
$wp_filetype = wp_check_filetype( $filename, null );
$attachment = array (
‘post_mime_type’ => $wp_filetype[ ‘type’ ],
‘post_title’ => sanitize_file_name( $filename ),
‘post_content’ => ”,
‘post_status’ => ‘inherit’
);
$attach_id = wp_insert_attachment( $attachment, $file );
require_once( ABSPATH . ‘wp-admin/includes/image.php’ );
$attach_data = wp_generate_attachment_metadata( $attach_id, $file );
wp_update_attachment_metadata( $attach_id, $attach_data );
// update_user_meta( $user_id, ‘user_image’, $attach_id); // in get field this will give id of image
update_field( ‘user_image’, $attach_id, ‘user_’ . $user_id ); // in get field this will give you exactly you have set return type
}`