wp_get_original_image_path( int $attachment_id, bool $unfiltered = false ): string|false

Retrieves the path to an uploaded image file.

Description

Similar to get_attached_file() however some images may have been processed after uploading to make them suitable for web use. In this case the attached "full" size file is usually replaced with a scaled down version of the original image. This function always returns the path to the originally uploaded image file.

Parameters

$attachment_idintrequired
Attachment ID.
$unfilteredbooloptional
Passed through to get_attached_file().

Default:false

Return

string|false Path to the original image file or false if the attachment is not an image.

Source

function wp_get_original_image_path( $attachment_id, $unfiltered = false ) {
	if ( ! wp_attachment_is_image( $attachment_id ) ) {
		return false;
	}

	$image_meta = wp_get_attachment_metadata( $attachment_id );
	$image_file = get_attached_file( $attachment_id, $unfiltered );

	if ( empty( $image_meta['original_image'] ) ) {
		$original_image = $image_file;
	} else {
		$original_image = path_join( dirname( $image_file ), $image_meta['original_image'] );
	}

	/**
	 * Filters the path to the original image.
	 *
	 * @since 5.3.0
	 *
	 * @param string $original_image Path to original image file.
	 * @param int    $attachment_id  Attachment ID.
	 */
	return apply_filters( 'wp_get_original_image_path', $original_image, $attachment_id );
}

Hooks

apply_filters( ‘wp_get_original_image_path’, string $original_image, int $attachment_id )

Filters the path to the original image.

Changelog

VersionDescription
5.4.0Added the $unfiltered parameter.
5.3.0Introduced.

User Contributed Notes

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