Responsive images: Skip images with a missing $image_meta['file']
value.
Props joemcgill. See [37002]. Fixes #35480. git-svn-id: https://develop.svn.wordpress.org/trunk@37018 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
a702da47a9
commit
ab8ff0dee1
@ -985,7 +985,7 @@ function wp_calculate_image_srcset( $size_array, $image_src, $image_meta, $attac
|
||||
*/
|
||||
$image_meta = apply_filters( 'wp_calculate_image_srcset_meta', $image_meta, $size_array, $image_src, $attachment_id );
|
||||
|
||||
if ( empty( $image_meta['sizes'] ) || strlen( $image_meta['file'] ) < 4 ) {
|
||||
if ( empty( $image_meta['sizes'] ) || ! isset( $image_meta['file'] ) || strlen( $image_meta['file'] ) < 4 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1183,17 +1183,22 @@ EOF;
|
||||
$image_meta2['sizes'] = '';
|
||||
$this->assertFalse( wp_calculate_image_srcset( $size_array, $image_src, $image_meta2 ) );
|
||||
|
||||
// File name is incorrect
|
||||
$image_meta3 = $image_meta;
|
||||
$image_meta3['file'] = '/';
|
||||
$this->assertFalse( wp_calculate_image_srcset( $size_array, $image_src, $image_meta3 ) );
|
||||
|
||||
// File name is incorrect
|
||||
$image_meta4 = $image_meta;
|
||||
$image_meta4['file'] = '/';
|
||||
unset( $image_meta4['file'] );
|
||||
$this->assertFalse( wp_calculate_image_srcset( $size_array, $image_src, $image_meta4 ) );
|
||||
|
||||
// Intermediate size is string instead of array.
|
||||
$image_meta3 = $image_meta;
|
||||
$image_meta3['sizes']['medium_large'] = '';
|
||||
$image_meta5 = $image_meta;
|
||||
$image_meta5['sizes']['medium_large'] = '';
|
||||
unset( $srcset[768] );
|
||||
$expected_srcset = implode( ', ', $srcset );
|
||||
$this->assertSame( $expected_srcset, wp_calculate_image_srcset( $size_array, $image_src, $image_meta3 ) );
|
||||
$this->assertSame( $expected_srcset, wp_calculate_image_srcset( $size_array, $image_src, $image_meta5 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user