update_attached_file( int $attachment_id, string $file ): bool

Updates attachment file path based on attachment ID.

Description

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

Parameters

$attachment_idintrequired
Attachment ID.
$filestringrequired
File path for the attachment.

Return

bool True on success, false on failure.

Source

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' );
	}
}

Hooks

apply_filters( ‘update_attached_file’, string $file, int $attachment_id )

Filters the path to the attached file to update.

Changelog

VersionDescription
2.1.0Introduced.

User Contributed Notes

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