Sets or updates current image size.
$widthintoptional
Default:null
$heightintoptional
Default:null
protected function update_size( $width = null, $height = null ) {
$size = null;
if ( ! $width || ! $height ) {
try {
$size = $this->image->getImageGeometry();
} catch ( Exception $e ) {
return new WP_Error( 'invalid_image', __( 'Could not read image size.' ), $this->file );
}
}
if ( ! $width ) {
$width = $size['width'];
}
if ( ! $height ) {
$height = $size['height'];
}
/*
* If we still don't have the image size, fall back to `wp_getimagesize`. This ensures AVIF and HEIC images
* are properly sized without affecting previous `getImageGeometry` behavior.
*/
if ( ( ! $width || ! $height ) && ( 'image/avif' === $this->mime_type || wp_is_heic_image_mime_type( $this->mime_type ) ) ) {
$size = wp_getimagesize( $this->file );
$width = $size[0];
$height = $size[1];
}
return parent::update_size( $width, $height );
}
| Version | Description |
|---|---|
| 3.5.0 | Introduced. |
© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_image_editor_imagick/update_size