wp_img_tag_add_width_and_height_attr( string   $image , string   $context , int   $attachment_id  ): string

Adds width and height attributes to an img HTML tag.

Parameters

$image string required
The HTML img tag where the attribute should be added.
$context string required
Additional context to pass to the filters.
$attachment_id int required
Image attachment ID.

Return

string Converted 'img' element with 'width' and 'height' attributes added.

Source

 function wp_img_tag_add_width_and_height_attr( $image, $context, $attachment_id ) { $image_src         = preg_match( '/src="([^"]+)"/', $image, $match_src ) ? $match_src[1] : ''; list( $image_src ) = explode( '?', $image_src ); // Return early if we couldn't get the image source. if ( ! $ image_src ) { return $image; } /** * Filters whether to add the missing `width` and `height` HTML attributes to the img tag.  Default `true`. * * Returning anything else than `true` will not add the attributes. * * @since 5.5.0 * * @param bool   $value          The filtered value, defaults to `true`. * @param string $image          The HTML `img` tag where the attribute should be added. * @param string $context        Additional context about how the function was called or where the img tag is. * @param int    $attachment_id The image attachment ID. */ $add = apply_filters( 'wp_img_tag_add_width_and_height_attr',  true, $image, $context, $attachment_id ); if ( true === $add ) { $image_meta = wp_get_attachment_metadata( $attachment_id ); $size_array = wp_image_src_get_dimensions( $image_src, $image_meta, $attachment_id ); if ( $size_array ) { // If the width is enforced through style (e.g. in an inline image),  calculate the dimension attributes. $style_width = preg_match( '/style="width:\s*(\d+)px;"/', $image, $match_width ) ?  (int) $match_width[1] : 0; if ( $style_width ) { $size_array[1] = (int) round( $size_array[1] * $style_width / $size_array[0] ); $size_array[0] = $style_width; } $hw = trim( image_hwstring( $size_array[0], $size_array[1] ) ); return str_replace( '<img', "<img {$hw}", $image ); } } return $image; }

Hooks

apply_filters ( ‘wp_img_tag_add_width_and_height_attr’, bool $value , string $image , string $context , int $attachment_id  )

Filters whether to add the missing width and height HTML attributes to the img tag. Default true .

Changelog

Version Description
5.5.0 Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.