Changeset 60420
- Timestamp:
- 07/07/2025 05:07:55 PM (4 months ago)
- Location:
- branches/6.8
- Files:
-
- 3 edited
-
. (modified) (1 prop)
-
src/wp-includes/media.php (modified) (3 diffs)
-
tests/phpunit/tests/media.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/6.8
-
branches/6.8/src/wp-includes/media.php
r59987 r60420 1071 1071 1072 1072 $attachment = get_post( $attachment_id ); 1073 $hwstring = image_hwstring( $width, $height );1074 1073 $size_class = $size; 1075 1074 … … 1091 1090 * @param string $context The context. Default 'wp_get_attachment_image'. 1092 1091 */ 1093 $context = apply_filters( 'wp_get_attachment_image_context', 'wp_get_attachment_image' ); 1094 $attr = wp_parse_args( $attr, $default_attr ); 1095 1096 $loading_attr = $attr; 1097 $loading_attr['width'] = $width; 1098 $loading_attr['height'] = $height; 1092 $context = apply_filters( 'wp_get_attachment_image_context', 'wp_get_attachment_image' ); 1093 $attr = wp_parse_args( $attr, $default_attr ); 1094 $attr['width'] = $width; 1095 $attr['height'] = $height; 1096 1099 1097 $loading_optimization_attr = wp_get_loading_optimization_attributes( 1100 1098 'img', 1101 $ loading_attr,1099 $attr, 1102 1100 $context 1103 1101 ); … … 1170 1168 $attr = apply_filters( 'wp_get_attachment_image_attributes', $attr, $attachment, $size ); 1171 1169 1172 $attr = array_map( 'esc_attr', $attr ); 1173 $html = rtrim( "<img $hwstring" ); 1170 if ( isset( $attr['height'] ) && is_numeric( $attr['height'] ) ) { 1171 $height = absint( $attr['height'] ); 1172 } 1173 if ( isset( $attr['width'] ) && is_numeric( $attr['width'] ) ) { 1174 $width = absint( $attr['width'] ); 1175 } 1176 unset( $attr['height'], $attr['width'] ); 1177 $attr = array_map( 'esc_attr', $attr ); 1178 $hwstring = image_hwstring( $width, $height ); 1179 $html = rtrim( "<img $hwstring" ); 1174 1180 1175 1181 foreach ( $attr as $name => $value ) { -
branches/6.8/tests/phpunit/tests/media.php
r59987 r60420 1583 1583 1584 1584 $this->assertSame( $expected, $output ); 1585 } 1586 1587 /** 1588 * @ticket 14110 1589 */ 1590 public function test_wp_get_attachment_image_filter_with_height_width() { 1591 $mock_action = new MockAction(); 1592 add_filter( 'wp_get_attachment_image_attributes', array( $mock_action, 'filter' ) ); 1593 wp_get_attachment_image( self::$large_id ); 1594 $args = $mock_action->get_args(); 1595 $this->assertArrayHasKey( '0', $args, 'First argument should be an array.' ); 1596 $this->assertArrayHasKey( '0', $args[0], 'First argument should be an array.' ); 1597 $this->assertArrayHasKey( 'width', $args[0][0], 'Width should be set.' ); 1598 $this->assertArrayHasKey( 'height', $args[0][0], 'Height should be set.' ); 1599 } 1600 1601 /** 1602 * @ticket 14110 1603 */ 1604 public function test_wp_get_attachment_image_filter_change_height_width() { 1605 add_filter( 1606 'wp_get_attachment_image_attributes', 1607 static function ( $args ) { 1608 $args['height'] = '999'; 1609 $args['width'] = '999'; 1610 return $args; 1611 } 1612 ); 1613 $output = wp_get_attachment_image( self::$large_id ); 1614 $this->assertStringContainsString( 'width="999"', $output, 'Width should be changed.' ); 1615 $this->assertStringContainsString( 'height="999"', $output, 'Height should be changed.' ); 1616 } 1617 1618 /** 1619 * @ticket 14110 1620 */ 1621 public function test_wp_get_attachment_image_filter_unset_height_width() { 1622 add_filter( 1623 'wp_get_attachment_image_attributes', 1624 static function ( $args ) { 1625 unset( $args['height'], $args['width'] ); 1626 return $args; 1627 } 1628 ); 1629 $output = wp_get_attachment_image( self::$large_id ); 1630 $this->assertStringContainsString( 'width="150"', $output, 'Width should not be changed.' ); 1631 $this->assertStringContainsString( 'height="150"', $output, 'Height should not be changed.' ); 1585 1632 } 1586 1633
Note: See TracChangeset
for help on using the changeset viewer.