WordPress.org

Make WordPress Core

Ticket #19889: 19889.2.diff

File 19889.2.diff, 1.3 KB (added by SergeyBiryukov, 5 years ago)
  • wp-admin/includes/image-edit.php

     
    453453} 
    454454 
    455455function wp_save_image($post_id) { 
     456        global $_wp_additional_image_sizes; 
     457 
    456458        $return = new stdClass; 
    457459        $success = $delete = $scaled = $nocrop = false; 
    458460        $post = get_post($post_id); 
     
    590592                                        $backup_sizes[$tag] = $meta['sizes'][$size]; 
    591593                        } 
    592594 
    593                         $crop = $nocrop ? false : get_option("{$size}_crop"); 
    594                         $resized = image_make_intermediate_size($new_path, get_option("{$size}_size_w"), get_option("{$size}_size_h"), $crop ); 
     595                        if ( isset( $_wp_additional_image_sizes[$size] ) ) { 
     596                                $width = intval( $_wp_additional_image_sizes[$size]['width'] ); 
     597                                $height = intval( $_wp_additional_image_sizes[$size]['height'] ); 
     598                                $crop = ( $nocrop ) ? false : intval( $_wp_additional_image_sizes[$size]['crop'] ); 
     599                        } else { 
     600                                $height = get_option( "{$size}_size_h" ); 
     601                                $width = get_option( "{$size}_size_w" ); 
     602                                $crop = ( $nocrop ) ? false : get_option( "{$size}_crop" ); 
     603                        } 
    595604 
     605                        $resized = image_make_intermediate_size( $new_path, $width, $height, $crop ); 
     606 
    596607                        if ( $resized ) 
    597608                                $meta['sizes'][$size] = $resized; 
    598609                        else