Title: wp_get_original_image_url
Published: November 12, 2019
Last modified: February 24, 2026

---

# wp_get_original_image_url( int $attachment_id ): string|false

## In this article

 * [Description](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#wp--skip-link--target)

Retrieves the URL to an original attachment image.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#description)󠁿

Similar to `wp_get_attachment_url()` however some images may have been processed
after uploading. In this case this function returns the URL to the originally uploaded
image file.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#parameters)󠁿

 `$attachment_id`intrequired

Attachment post ID.

## 󠀁[Return](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#return)󠁿

 string|false Attachment image URL, false on error or if the attachment is not an
image.

## 󠀁[Source](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#source)󠁿

    ```php
    function wp_get_original_image_url( $attachment_id ) {
    	if ( ! wp_attachment_is_image( $attachment_id ) ) {
    		return false;
    	}

    	$image_url = wp_get_attachment_url( $attachment_id );

    	if ( ! $image_url ) {
    		return false;
    	}

    	$image_meta = wp_get_attachment_metadata( $attachment_id );

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

    	/**
    	 * Filters the URL to the original attachment image.
    	 *
    	 * @since 5.3.0
    	 *
    	 * @param string $original_image_url URL to original image.
    	 * @param int    $attachment_id      Attachment ID.
    	 */
    	return apply_filters( 'wp_get_original_image_url', $original_image_url, $attachment_id );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/post.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/post.php#L8498)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/post.php#L8498-L8526)

## 󠀁[Hooks](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#hooks)󠁿

 [apply_filters( ‘wp_get_original_image_url’, string $original_image_url, int $attachment_id )](https://developer.wordpress.org/reference/hooks/wp_get_original_image_url/)

Filters the URL to the original attachment image.

## 󠀁[Related](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#related)󠁿

| Uses | Description | 
| [path_join()](https://developer.wordpress.org/reference/functions/path_join/)`wp-includes/functions.php` |

Joins two filesystem paths together.

  | 
| [wp_attachment_is_image()](https://developer.wordpress.org/reference/functions/wp_attachment_is_image/)`wp-includes/post.php` |

Determines whether an attachment is an image.

  | 
| [wp_get_attachment_url()](https://developer.wordpress.org/reference/functions/wp_get_attachment_url/)`wp-includes/post.php` |

Retrieves the URL for an attachment.

  | 
| [wp_get_attachment_metadata()](https://developer.wordpress.org/reference/functions/wp_get_attachment_metadata/)`wp-includes/post.php` |

Retrieves attachment metadata for attachment ID.

  | 
| [apply_filters()](https://developer.wordpress.org/reference/functions/apply_filters/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to a filter hook.

  |

[Show 1 more](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#)

| Used by | Description | 
| [attachment_submitbox_metadata()](https://developer.wordpress.org/reference/functions/attachment_submitbox_metadata/)`wp-admin/includes/media.php` |

Displays non-editable attachment metadata in the publish meta box.

  | 
| [wp_prepare_attachment_for_js()](https://developer.wordpress.org/reference/functions/wp_prepare_attachment_for_js/)`wp-includes/media.php` |

Prepares an attachment post object for JS, where it is expected to be JSON-encoded and fit into an Attachment model.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/wp_get_original_image_url/?output_format=md#changelog)󠁿

| Version | Description | 
| [5.3.0](https://developer.wordpress.org/reference/since/5.3.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_get_original_image_url%2F)
before being able to contribute a note or feedback.