W3cubDocs

/WordPress

Custom_Image_Header::insert_attachment( array $attachment, string $cropped ): int

Inserts an attachment and its metadata.

Parameters

$attachmentarrayrequired
An array with attachment object data.
$croppedstringrequired
File path to cropped image.

Return

int Attachment ID.

Source

final public function insert_attachment( $attachment, $cropped ) {
	$parent_id = isset( $attachment['post_parent'] ) ? $attachment['post_parent'] : null;
	unset( $attachment['post_parent'] );

	$attachment_id = wp_insert_attachment( $attachment, $cropped );
	$metadata      = wp_generate_attachment_metadata( $attachment_id, $cropped );

	// If this is a crop, save the original attachment ID as metadata.
	if ( $parent_id ) {
		$metadata['attachment_parent'] = $parent_id;
	}

	/**
	 * Filters the header image attachment metadata.
	 *
	 * @since 3.9.0
	 *
	 * @see wp_generate_attachment_metadata()
	 *
	 * @param array $metadata Attachment metadata.
	 */
	$metadata = apply_filters( 'wp_header_image_attachment_metadata', $metadata );

	wp_update_attachment_metadata( $attachment_id, $metadata );

	return $attachment_id;
}

Hooks

apply_filters( ‘wp_header_image_attachment_metadata’, array $metadata )

Filters the header image attachment metadata.

Changelog

Version Description
3.9.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/custom_image_header/insert_attachment