WordPress.org

Plugin Directory

Changeset 649241


Ignore:
Timestamp:
01/07/13 16:05:10 (16 months ago)
Author:
ethitter
Message:

Jetpack Photon update

Ensure that WP's full image size can take advantage of Photon.

Thanks to @jonez for reporting this.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • jetpack/trunk/class.photon.php

    r645674 r649241  
    337337                $image_args = $image_args[ $size ]; 
    338338 
    339                 // Expose arguments to a filter before passing to Photon 
    340339                $photon_args = array(); 
    341340 
    342                 if ( $image_args['crop'] ) 
    343                     $photon_args['resize'] = $image_args['width'] . ',' . $image_args['height']; 
    344                 else 
    345                     $photon_args['fit'] = $image_args['width'] . ',' . $image_args['height']; 
    346  
    347                 $photon_args = apply_filters( 'jetpack_photon_image_downsize_string', $photon_args, compact( 'image_args', 'image_url', 'attachment_id', 'size' ) ); 
     341                // `full` is a special case in WP 
     342                // To ensure filter receives consistent data regardless of requested size, `$image_args` is overridden with dimensions of original image. 
     343                if ( 'full' == $size ) { 
     344                    $image_meta = wp_get_attachment_metadata( $attachment_id ); 
     345 
     346                    // 'crop' is true so Photon's `resize` method is used 
     347                    $image_args = array( 
     348                        'width'  => $image_meta['width'], 
     349                        'height' => $image_meta['height'], 
     350                        'crop'   => true 
     351                    ); 
     352                } 
     353 
     354                // Expose determined arguments to a filter before passing to Photon 
     355                $transform = $image_args['crop'] ? 'resize' : 'fit'; 
     356 
     357                $photon_args[ $transform ] = $image_args['width'] . ',' . $image_args['height']; 
     358 
     359                $photon_args = apply_filters( 'jetpack_photon_image_downsize_string', $photon_args, compact( 'image_args', 'image_url', 'attachment_id', 'size', 'transform' ) ); 
    348360 
    349361                // Generate Photon URL 
     
    454466                    'height' => intval( get_option( 'large_size_h' ) ), 
    455467                    'crop'   => false 
     468                ), 
     469                'full'   => array( 
     470                    'width'  => null, 
     471                    'height' => null, 
     472                    'crop'   => false 
    456473                ) 
    457474            ); 
Note: See TracChangeset for help on using the changeset viewer.