wp_image_src_get_dimensions( string $image_src, array $image_meta, int $attachment_id ): array|false

In this article

Determines an image’s width and height dimensions based on the source file.

Parameters

$image_srcstringrequired
The image source file.
$image_metaarrayrequired
The image meta data as returned by ‘wp_get_attachment_metadata() ‘.
$attachment_idintoptional
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.

Source

function wp_image_src_get_dimensions( $image_src, $image_meta, $attachment_id = 0 ) {
	$dimensions = false;

	// Is it a full size image?
	if (
		isset( $image_meta['file'] ) &&
		str_contains( $image_src, wp_basename( $image_meta['file'] ) )
	) {
		$dimensions = array(
			(int) $image_meta['width'],
			(int) $image_meta['height'],
		);
	}

	if ( ! $dimensions && ! 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'] ) {
				$dimensions = array(
					(int) $image_size_data['width'],
					(int) $image_size_data['height'],
				);

				break;
			}
		}
	}

	/**
	 * Filters the 'wp_image_src_get_dimensions' value.
	 *
	 * @since 5.7.0
	 *
	 * @param array|false $dimensions    Array with first element being the width
	 *                                   and second element being the height, or
	 *                                   false if dimensions could not be determined.
	 * @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 The image attachment ID. Default 0.
	 */
	return apply_filters( 'wp_image_src_get_dimensions', $dimensions, $image_src, $image_meta, $attachment_id );
}

Hooks

apply_filters( ‘wp_image_src_get_dimensions’, array|false $dimensions, string $image_src, array $image_meta, int $attachment_id )

Filters the ‘wp_image_src_get_dimensions’ value.

Changelog

VersionDescription
5.5.0Introduced.

User Contributed Notes

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