WordPress.org

Make WordPress Core

Ticket #19889: 19889.4.diff

File 19889.4.diff, 1.4 KB (added by SergeyBiryukov, 4 years ago)
  • src/wp-admin/includes/image-edit.php

     
    557557 * @return \stdClass 
    558558 */ 
    559559function wp_save_image( $post_id ) { 
     560        global $_wp_additional_image_sizes; 
     561 
    560562        $return = new stdClass; 
    561563        $success = $delete = $scaled = $nocrop = false; 
    562564        $post = get_post( $post_id ); 
     
    691693                                        $backup_sizes[$tag] = $meta['sizes'][$size]; 
    692694                        } 
    693695 
    694                         $crop = $nocrop ? false : get_option("{$size}_crop"); 
    695                         $_sizes[ $size ] = array( 'width' => get_option("{$size}_size_w"), 'height' => get_option("{$size}_size_h"), 'crop' => $crop ); 
     696                        if ( isset( $_wp_additional_image_sizes[ $size ] ) ) { 
     697                                $width  = intval( $_wp_additional_image_sizes[ $size ]['width'] ); 
     698                                $height = intval( $_wp_additional_image_sizes[ $size ]['height'] ); 
     699                                $crop   = ( $nocrop ) ? false : intval( $_wp_additional_image_sizes[ $size ]['crop'] ); 
     700                        } else { 
     701                                $height = get_option( "{$size}_size_h" ); 
     702                                $width  = get_option( "{$size}_size_w" ); 
     703                                $crop   = ( $nocrop ) ? false : get_option( "{$size}_crop" ); 
     704                        } 
     705 
     706                        $_sizes[ $size ] = array( 'width' => $width, 'height' => $height, 'crop' => $crop ); 
    696707                } 
    697708 
    698709                $meta['sizes'] = array_merge( $meta['sizes'], $img->multi_resize( $_sizes ) );