WordPress.org

Make WordPress Core

Ticket #19889: 19889.3.diff

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

     
    563563 * @return \stdClass
    564564 */
    565565function wp_save_image( $post_id ) {
     566        global $_wp_additional_image_sizes;
     567
    566568        $return = new stdClass;
    567569        $success = $delete = $scaled = $nocrop = false;
    568570        $post = get_post( $post_id );
     
    697699                                        $backup_sizes[$tag] = $meta['sizes'][$size];
    698700                        }
    699701
    700                         $crop = $nocrop ? false : get_option("{$size}_crop");
    701                         $_sizes[ $size ] = array( 'width' => get_option("{$size}_size_w"), 'height' => get_option("{$size}_size_h"), 'crop' => $crop );
     702                        if ( isset( $_wp_additional_image_sizes[$size] ) ) {
     703                                $width = intval( $_wp_additional_image_sizes[$size]['width'] );
     704                                $height = intval( $_wp_additional_image_sizes[$size]['height'] );
     705                                $crop = ( $nocrop ) ? false : intval( $_wp_additional_image_sizes[$size]['crop'] );
     706                        } else {
     707                                $height = get_option( "{$size}_size_h" );
     708                                $width = get_option( "{$size}_size_w" );
     709                                $crop = ( $nocrop ) ? false : get_option( "{$size}_crop" );
     710                        }
     711
     712                        $_sizes[ $size ] = array( 'width' => $width, 'height' => $height, 'crop' => $crop );
    702713                }
    703714
    704715                $meta['sizes'] = $img->multi_resize( $_sizes );