wp_insert_attachment ( $args, $file = false, $parent_post_id = 0, $wp_error = false, $fire_after_hooks = true )

  • (string|array) args Arguments for inserting an attachment.
  • (string|false) file Optional. Filename. Default false.
  • (int) parent_post_id Optional. Parent post ID or 0 for no parent. Default 0.
  • (bool) wp_error Optional. Whether to return a WP_Error on failure. Default false.
  • (bool) fire_after_hooks Optional. Whether to fire the after insert hooks. Default true.
  • (int|WP_Error) The attachment ID on success. The value 0 or WP_Error on failure.
Defined at:
Change Log:
  • 4: .
  • 5: .


Inserts an attachment.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.

Related Functions

wp_insert_comment, wp_delete_attachment, wp_count_attachments, is_attachment, wp_get_attachment_url

Top Google Results

User discussions

wpseek mobile