do_action( 'delete_attachment', int $post_id, WP_Post $post )

Fires before an attachment is deleted, at the start of wp_delete_attachment() .


$post_id int
Attachment ID.
$post WP_Post
Post object.

Top ↑

More Information

Up to and including WordPress 2.7, it is fired ”after” the attachment is deleted from the database and the file system, limiting its usefulness. As of changeset #10400 (WordPress 2.8), the action will fire ”before” anything is deleted.

Top ↑


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

do_action( 'delete_attachment', $post_id, $post );

Top ↑


Version Description
5.5.0 Added the $post parameter.
2.0.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by shuvo586

    Below is the basic example how delete_attachment action works.

    function wpdocs_delete_attachment( $post_id ) {
    	// Do something before attachment deleted
    	// get attached file dir
    	$file = get_attached_file( $post_id );
    	// get file name of attachment to be deleted
    	$file_name = wp_basename( $file );
    add_action( 'delete_attachment', 'wpdocs_delete_attachment' );

You must log in before being able to contribute a note or feedback.