Ticket #19889: 19889.3.diff

File 19889.3.diff, 1.3 KB (added by SergeyBiryukov, 6 months ago)
Line 
1Index: wp-admin/includes/image-edit.php
2===================================================================
3--- wp-admin/includes/image-edit.php    (revision 22456)
4+++ wp-admin/includes/image-edit.php    (working copy)
5@@ -563,6 +563,8 @@
6  * @return \stdClass
7  */
8 function wp_save_image( $post_id ) {
9+       global $_wp_additional_image_sizes;
10+
11        $return = new stdClass;
12        $success = $delete = $scaled = $nocrop = false;
13        $post = get_post( $post_id );
14@@ -697,8 +699,17 @@
15                                        $backup_sizes[$tag] = $meta['sizes'][$size];
16                        }
17 
18-                       $crop = $nocrop ? false : get_option("{$size}_crop");
19-                       $_sizes[ $size ] = array( 'width' => get_option("{$size}_size_w"), 'height' => get_option("{$size}_size_h"), 'crop' => $crop );
20+                       if ( isset( $_wp_additional_image_sizes[$size] ) ) {
21+                               $width = intval( $_wp_additional_image_sizes[$size]['width'] );
22+                               $height = intval( $_wp_additional_image_sizes[$size]['height'] );
23+                               $crop = ( $nocrop ) ? false : intval( $_wp_additional_image_sizes[$size]['crop'] );
24+                       } else {
25+                               $height = get_option( "{$size}_size_h" );
26+                               $width = get_option( "{$size}_size_w" );
27+                               $crop = ( $nocrop ) ? false : get_option( "{$size}_crop" );
28+                       }
29+
30+                       $_sizes[ $size ] = array( 'width' => $width, 'height' => $height, 'crop' => $crop );
31                }
32 
33                $meta['sizes'] = $img->multi_resize( $_sizes );