Responsive Images: limit the size of images included in `srcset` attributes. Introduce `max_srcset_image_width` filter to adjust the limit.
Props joemcgill. Fixes #34341. Built from https://develop.svn.wordpress.org/trunk@35358 git-svn-id: http://core.svn.wordpress.org/trunk@35324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
6ca92efe23
commit
dfc2412be1
|
@ -928,6 +928,15 @@ function wp_get_attachment_image_srcset_array( $attachment_id, $size = 'medium'
|
||||||
*/
|
*/
|
||||||
$img_edited = preg_match( '/-e[0-9]{13}/', $img_url, $img_edit_hash );
|
$img_edited = preg_match( '/-e[0-9]{13}/', $img_url, $img_edit_hash );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter the maximum width included in a srcset attribute.
|
||||||
|
*
|
||||||
|
* @since 4.4.0
|
||||||
|
*
|
||||||
|
* @param array|string $size Size of image, either array or string.
|
||||||
|
*/
|
||||||
|
$max_srcset_width = apply_filters( 'max_srcset_image_width', 1600, $size );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up arrays to hold url candidates and matched image sources so
|
* Set up arrays to hold url candidates and matched image sources so
|
||||||
* we can avoid duplicates without looping through the full sources array
|
* we can avoid duplicates without looping through the full sources array
|
||||||
|
@ -945,6 +954,11 @@ function wp_get_attachment_image_srcset_array( $attachment_id, $size = 'medium'
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Filter out images that are wider than $max_srcset_width.
|
||||||
|
if ( $max_srcset_width && $img['width'] > $max_srcset_width ) {
|
||||||
|
$contiue;
|
||||||
|
}
|
||||||
|
|
||||||
$candidate_url = path_join( dirname( $img_url ), $img['file'] );
|
$candidate_url = path_join( dirname( $img_url ), $img['file'] );
|
||||||
|
|
||||||
// Calculate the new image ratio.
|
// Calculate the new image ratio.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.4-alpha-35357';
|
$wp_version = '4.4-alpha-35358';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue