Custom_Image_Header::insert_attachment
Inserts an attachment and its metadata.
Method of the class: Custom_Image_Header{}
Hooks from the method
Returns
Int. Attachment ID.
Usage
$Custom_Image_Header = new Custom_Image_Header(); $Custom_Image_Header->insert_attachment( $attachment, $cropped );
- $attachment(array) (required)
- An array with attachment object data.
- $cropped(string) (required)
- File path to cropped image.
Changelog
| Since 3.9.0 | Introduced. |
Custom_Image_Header::insert_attachment() Custom Image Header::insert attachment code WP 7.0
final public function insert_attachment( $attachment, $cropped ) {
$parent_id = $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;
}