Make WordPress Core


Ignore:
Timestamp:
08/15/2025 07:09:36 PM (10 months ago)
Author:
adamsilverstein
Message:

Media: ensure wp_get_attachment_image uses valid user-provided width and height.

Fix a bug introduced in WordPress 6.8.2 (r60415) that led to user supplied values for width and height in the $attr array passed to wp_get_attachment_image to be overwritten.

Props rainbowgeek, ocean90, rollybueno, shreya0shrivastava, heybran, mukesh27.
Fixes #63714.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/media.php

    r60477 r60641  
    10921092        $context = apply_filters( 'wp_get_attachment_image_context', 'wp_get_attachment_image' );
    10931093
    1094         $attr           = wp_parse_args( $attr, $default_attr );
    1095         $attr['width']  = $width;
    1096         $attr['height'] = $height;
     1094        $attr = wp_parse_args( $attr, $default_attr );
     1095
     1096        // Ensure that the `$width` doesn't overwrite an already valid user-provided width.
     1097        if ( ! isset( $attr['width'] ) || ! is_numeric( $attr['width'] ) ) {
     1098            $attr['width'] = $width;
     1099        }
     1100
     1101        // Ensure that the `$height` doesn't overwrite an already valid user-provided height.
     1102        if ( ! isset( $attr['height'] ) || ! is_numeric( $attr['height'] ) ) {
     1103            $attr['height'] = $height;
     1104        }
    10971105
    10981106        $loading_optimization_attr = wp_get_loading_optimization_attributes(
Note: See TracChangeset for help on using the changeset viewer.