update_attached_file()WP 2.1.0

Update attachment file path based on attachment ID.

Used to update the file path of the attachment, which uses post meta name '_wp_attached_file' to store the path of the attachment.

Hooks from the function


true|false. True on success, false on failure.


update_attached_file( $attachment_id, $file );
$attachment_id(int) (required)
Attachment ID.
$file(string) (required)
File path for the attachment.



#1 Example of work

Suppose we added a new file and we need to update the path to this file, which is stored in the meta field _wp_attached_file.

update_attached_file( $post_ID, $postarr['file'] );


Since 2.1.0 Introduced.

update_attached_file() code WP 6.4.1

function update_attached_file( $attachment_id, $file ) {
	if ( ! get_post( $attachment_id ) ) {
		return false;

	 * Filters the path to the attached file to update.
	 * @since 2.1.0
	 * @param string $file          Path to the attached file to update.
	 * @param int    $attachment_id Attachment ID.
	$file = apply_filters( 'update_attached_file', $file, $attachment_id );

	$file = _wp_relative_upload_path( $file );
	if ( $file ) {
		return update_post_meta( $attachment_id, '_wp_attached_file', $file );
	} else {
		return delete_post_meta( $attachment_id, '_wp_attached_file' );