WC_Regenerate_Images::image_size_matches_settings
See if an image's dimensions match actual settings.
Method of the class: WC_Regenerate_Images{}
No Hooks.
Returns
true|false. True if they match. False if they do not (may trigger regen).
Usage
$result = WC_Regenerate_Images::image_size_matches_settings( $image, $size );
- $image(array) (required)
- Image dimensions array.
- $size(string) (required)
- Named size.
WC_Regenerate_Images::image_size_matches_settings() WC Regenerate Images::image size matches settings code WC 10.6.2
protected static function image_size_matches_settings( $image, $size ) {
$target_size = wc_get_image_size( $size );
$uncropped = '' === $target_size['width'] || '' === $target_size['height'];
if ( ! $uncropped ) {
$ratio_match = wp_image_matches_ratio( $image['width'], $image['height'], $target_size['width'], $target_size['height'] );
// Size is invalid if the widths or crop setting don't match.
if ( $ratio_match && $target_size['width'] !== $image['width'] ) {
return false;
}
// Size is invalid if the heights don't match.
if ( $ratio_match && $target_size['height'] && $target_size['height'] !== $image['height'] ) {
return false;
}
}
// If cropping mode has changed, regenerate the image.
if ( $uncropped && empty( $image['uncropped'] ) ) {
return false;
}
return true;
}