WordPress.org

Make WordPress Core

Ticket #19889: 19889.diff

File 19889.diff, 1.4 KB (added by Otto42, 6 years ago)

Change image-edit.php to account for additional sizes on save

  • wp-admin/includes/image-edit.php

     
    492492} 
    493493 
    494494function wp_save_image($post_id) { 
     495        global $_wp_additional_image_sizes; 
     496         
    495497        $return = new stdClass; 
    496498        $success = $delete = $scaled = $nocrop = false; 
    497499        $post = get_post($post_id); 
     
    628630                                if ( $tag ) 
    629631                                        $backup_sizes[$tag] = $meta['sizes'][$size]; 
    630632                        } 
     633                         
     634                        $crop = false; 
     635                        if (!$nocrop) { 
     636                                if ( isset( $_wp_additional_image_sizes[$size]['crop'] ) ) 
     637                                        $crop = $_wp_additional_image_sizes[$size]['crop']; 
     638                                else $crop = get_option("{$size}_crop"); 
     639                        } 
     640                         
     641                        if ( isset( $_wp_additional_image_sizes[$size]['width'] ) ) 
     642                                $width = $_wp_additional_image_sizes[$size]['width']; 
     643                        else $width = get_option("{$size}_size_w"); 
     644                         
     645                        if ( isset( $_wp_additional_image_sizes[$size]['height'] ) ) 
     646                                $height = $_wp_additional_image_sizes[$size]['height']; 
     647                        else $height = get_option("{$size}_size_h"); 
    631648 
    632                         $crop = $nocrop ? false : get_option("{$size}_crop"); 
    633                         $resized = image_make_intermediate_size($new_path, get_option("{$size}_size_w"), get_option("{$size}_size_h"), $crop ); 
     649                        $resized = image_make_intermediate_size($new_path, $width, $height, $crop ); 
    634650 
    635651                        if ( $resized ) 
    636652                                $meta['sizes'][$size] = $resized;