wordpress / latest / functions / wp_insert_attachment.html

wp_insert_attachment( string|array $args, string|false $file = false, int $parent, bool $wp_error = false, bool $fire_after_hooks = true ): int|WP_Error

Inserts an attachment.

Description

If you set the ‘ID’ in the $args parameter, it will mean that you are updating and attempt to update the attachment. You can also set the attachment name or title by setting the key ‘post_name’ or ‘post_title’.

You can set the dates for the attachment manually by setting the ‘post_date’ and ‘post_date_gmt’ keys’ values.

By default, the comments will use the default settings for whether the comments are allowed. You can close them manually or keep them open by setting the value for the ‘comment_status’ key.

See also

Parameters

$args string|array Required
Arguments for inserting an attachment.
$file string|false Optional
Filename.

Default: false

$parent int Optional
Parent post ID.
$wp_error bool Optional
Whether to return a WP_Error on failure.

Default: false

$fire_after_hooks bool Optional
Whether to fire the after insert hooks.

Default: true

Return

int|WP_Error The attachment ID on success. The value 0 or WP_Error on failure.

Source

File: wp-includes/post.php. View all references

function wp_insert_attachment( $args, $file = false, $parent = 0, $wp_error = false, $fire_after_hooks = true ) {
	$defaults = array(
		'file'        => $file,
		'post_parent' => 0,
	);

	$data = wp_parse_args( $args, $defaults );

	if ( ! empty( $parent ) ) {
		$data['post_parent'] = $parent;
	}

	$data['post_type'] = 'attachment';

	return wp_insert_post( $data, $wp_error, $fire_after_hooks );
}

Uses

Uses Description

Used By

Used By Description

Changelog

Version Description
5.6.0 Added the $fire_after_hooks parameter.
4.7.0 Added the $wp_error parameter to allow a WP_Error to be returned on failure.
2.0.0 Introduced.

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_insert_attachment