_wp_image_meta_replace_original()WP 5.3.0

Updates the attached file and image meta data when the original image was edited.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Return

Array. The updated image meta data.

Usage

_wp_image_meta_replace_original( $saved_data, $original_file, $image_meta, $attachment_id );
$saved_data(array) (required)
The data returned from WP_Image_Editor after successfully saving an image.
$original_file(string) (required)
Path to the original file.
$image_meta(array) (required)
The image meta data.
$attachment_id(int) (required)
The attachment post ID.

Changelog

Since 5.3.0 Introduced.
Since 6.0.0 The $filesize value was added to the returned array.

_wp_image_meta_replace_original() code WP 6.6.2

function _wp_image_meta_replace_original( $saved_data, $original_file, $image_meta, $attachment_id ) {
	$new_file = $saved_data['path'];

	// Update the attached file meta.
	update_attached_file( $attachment_id, $new_file );

	// Width and height of the new image.
	$image_meta['width']  = $saved_data['width'];
	$image_meta['height'] = $saved_data['height'];

	// Make the file path relative to the upload dir.
	$image_meta['file'] = _wp_relative_upload_path( $new_file );

	// Add image file size.
	$image_meta['filesize'] = wp_filesize( $new_file );

	// Store the original image file name in image_meta.
	$image_meta['original_image'] = wp_basename( $original_file );

	return $image_meta;
}