Title: Post Media Cleanup
Author: iftiarhossain
Published: <strong>July 13, 2026</strong>
Last modified: July 13, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/post-media-cleanup.svg)

# Post Media Cleanup

 By [iftiarhossain](https://profiles.wordpress.org/iftiarhossain/)

[Download](https://downloads.wordpress.org/plugin/post-media-cleanup.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/post-media-cleanup/#description)
 * [Reviews](https://wordpress.org/plugins/post-media-cleanup/#reviews)
 *  [Installation](https://wordpress.org/plugins/post-media-cleanup/#installation)
 * [Development](https://wordpress.org/plugins/post-media-cleanup/#developers)

 [Support](https://wordpress.org/support/plugin/post-media-cleanup/)

## Description

Post Media Cleanup removes orphaned media files from your server when you permanently
delete a post.

When you permanently delete a post, this plugin automatically finds and removes:

 * Featured image
 * Images and files embedded in post content
 * PDFs and any linked files in content
 * All attachments uploaded directly to the post

#### Key Features

 * Only fires on permanent deletion — moving to trash is always safe
 * Skip Shared Media — never deletes a file used by another post
 * Works per post type — configure exactly which types trigger cleanup
 * Compatible with S3 and cloud storage
 * Multisite ready
 * Developer friendly — filter hooks to extend behaviour

#### For Developers

Add extra attachments to the deletion list:

    ```
    add_filter( 'postmediaweb_attachment_ids_to_delete', function( $ids, $post_id ) {
        $extra = get_post_meta( $post_id, 'my_custom_pdf', true );
        if ( $extra ) $ids[] = (int) $extra;
        return $ids;
    }, 10, 2 );
    ```

Prevent a specific attachment from being deleted:

    ```
    add_filter( 'postmediaweb_should_delete_attachment', function( $should, $att_id, $post_id ) {
        if ( $att_id === 999 ) return false;
        return $should;
    }, 10, 3 );
    ```

## Installation

 1. Upload the plugin folder to /wp-content/plugins/
 2. Activate through the Plugins screen
 3. Go to Settings  Post Media Cleanup to configure

## FAQ

### Does it delete media when I move a post to trash?

No. Only permanent deletion triggers cleanup. Trash is always safe.

### What if the same image is used in two posts?

With Skip Shared Media enabled (default), the plugin checks before deleting. If 
the file is used elsewhere it is preserved.

### Does it work with WooCommerce products?

Yes. Enable Products in the Post Types setting.

### Does it work with S3 or cloud storage?

Yes. It uses wp_delete_attachment() which cloud storage plugins hook into automatically.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Post Media Cleanup” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ iftiarhossain ](https://profiles.wordpress.org/iftiarhossain/)

[Translate “Post Media Cleanup” into your language.](https://translate.wordpress.org/projects/wp-plugins/post-media-cleanup)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/post-media-cleanup/),
check out the [SVN repository](https://plugins.svn.wordpress.org/post-media-cleanup/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/post-media-cleanup/)
by [RSS](https://plugins.trac.wordpress.org/log/post-media-cleanup/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.0.0**
 *  Last updated **11 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [attachments](https://wordpress.org/plugins/tags/attachments/)[cleanup](https://wordpress.org/plugins/tags/cleanup/)
   [delete](https://wordpress.org/plugins/tags/delete/)[images](https://wordpress.org/plugins/tags/images/)
   [media](https://wordpress.org/plugins/tags/media/)
 *  [Advanced View](https://wordpress.org/plugins/post-media-cleanup/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/post-media-cleanup/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/post-media-cleanup/reviews/)

## Contributors

 *   [ iftiarhossain ](https://profiles.wordpress.org/iftiarhossain/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/post-media-cleanup/)