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

Return

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

Usage

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

Examples

0

#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'] );

Changelog

Since 2.1.0 Introduced.

update_attached_file() code WP 6.4.3

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