Summery Summery
Adds ‘srcset’ and ‘sizes’ attributes to an existing ‘img’ element.
Syntax Syntax
Parameters Parameters
- $image
-
(Required) An HTML 'img' element to be filtered.
- $image_meta
-
(Required) The image meta data as returned by 'wp_get_attachment_metadata()'.
- $attachment_id
-
(Required) Image attachment ID.
Return Return
(string) Converted 'img' element with 'srcset' and 'sizes' attributes added.
Source Source
File: wp-includes/media.php
$match = true;
}
}
if ( ! $match && ! empty( $image_meta['sizes'] ) ) {
foreach ( $image_meta['sizes'] as $image_size_data ) {
$relative_path = $dirname . $image_size_data['file'];
if ( strrpos( $image_location, $relative_path ) === strlen( $image_location ) - strlen( $relative_path ) ) {
$match = true;
break;
}
}
}
}
}
/**
* Filter whether an image path or URI matches image meta.
*
* @since 5.5.0
*
* @param bool $match Whether the image relative path from the image meta
* matches the end of the URI or path to the image file.
* @param string $image_location Full path or URI to the tested image file.
* @param array $image_meta The image meta data as returned by 'wp_get_attachment_metadata()'.
* @param int $attachment_id The image attachment ID or 0 if not supplied.
*/
return apply_filters( 'wp_image_file_matches_image_meta', $match, $image_location, $image_meta, $attachment_id );
}
/**
* Determines an image's width and height dimensions based on the source file.
*
* @since 5.5.0
*
* @param string $image_src The image source file.
* @param array $image_meta The image meta data as returned by 'wp_get_attachment_metadata()'.
* @param int $attachment_id Optional. The image attachment ID. Default 0.
* @return array|false Array with first element being the width and second element being the height,
* or false if dimensions cannot be determined.
*/
function wp_image_src_get_dimensions( $image_src, $image_meta, $attachment_id = 0 ) {
if ( ! wp_image_file_matches_image_meta( $image_src, $image_meta, $attachment_id ) ) {
return false;
}
// Is it a full size image?
if ( strpos( $image_src, $image_meta['file'] ) !== false ) {
return array(
(int) $image_meta['width'],
(int) $image_meta['height'],
);
}
if ( ! empty( $image_meta['sizes'] ) ) {
$src_filename = wp_basename( $image_src );
foreach ( $image_meta['sizes'] as $image_size_data ) {
if ( $src_filename === $image_size_data['file'] ) {
return array(
(int) $image_size_data['width'],
(int) $image_size_data['height'],
);
}
}
}
return false;
}
/**
* Adds 'srcset' and 'sizes' attributes to an existing 'img' element.
*
* @since 4.4.0
Advertisement
Changelog Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |