WordPress.org

Make WordPress Core

Ticket #19889: 19889.3.diff

File 19889.3.diff, 1.3 KB (added by SergeyBiryukov, 5 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 );