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;