WordPress.org

Make WordPress Core

Ticket #19889: 19889.2.diff

File 19889.2.diff, 1.3 KB (added by SergeyBiryukov, 6 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