_wp_image_meta_replace_original( array $saved_data, string $original_file, array $image_meta, int $attachment_id ): array

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

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


The data returned from WP_Image_Editor after successfully saving an image.
Path to the original file.
The image meta data.
The attachment post ID.


array The updated image meta data.


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;


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

User Contributed Notes

You must log in before being able to contribute a note or feedback.