+ /*
+ * We need to remove any existing resized image files because
+ * a new crop or rotate could generate different sizes (and hence, filenames),
+ * keeping the new resized images from overwriting the existing image files.
+ * https://core.trac.wordpress.org/ticket/32171
+ */
+ if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE && ! empty( $meta['sizes'] ) ) {
+ foreach ( $meta['sizes'] as $size ) {
+ if ( ! empty( $size['file'] ) && preg_match( '/-e[0-9]{13}-/', $size['file'] ) ) {
+ $delete_file = path_join( $path_parts['dirname'], $size['file'] );
+ wp_delete_file( $delete_file );
+ }
+ }
+ }
+