Clear Media Title On Upload

plugin banner

Clears the media title field on upload, instead of setting it to the slugified filename.

Author:runthings.dev (profile at wordpress.org)
WordPress version required:6.0
WordPress version tested:6.9
Plugin version:2.0.1
Added to WordPress repository:27-01-2026
Last updated:27-01-2026
Rating, %:0
Rated by:0
Plugin URI:https://runthings.dev/wordpress-plugins/empty...
Total downloads:118
plugin download
Click to start download

When you upload media to WordPress, the title field is automatically set to a slugified version of the filename. This often results in messy, unoptimized titles like “IMG-20240115-photo-final-v2” appearing in gallery captions, alt tags, or title attributes.

This plugin clears the title field for newly uploaded media, ensuring that if a title is displayed anywhere, it’s one you’ve intentionally set yourself.

Features

  • Automatically clears the title field for new media uploads
  • Bulk action to clear titles on existing media library items
  • Lightweight with no settings page required
  • Developer-friendly with filters

How It Works

The plugin hooks into WordPress’s wp_insert_attachment_data filter and clears the post_title field for new uploads before they are saved to the database.

Filters

runthings_emt_skip

Skip clearing the title for specific attachments.

Parameters:

  • $skip (bool) – Whether to skip clearing the title. Default false.
  • $data (array) – Attachment post data (slashed, sanitized, processed).
  • $postarr (array) – Sanitized post data (not processed).
  • $unsanitized_postarr (array) – Unsanitized post data.
  • $update (bool) – Whether this is an update (always false for new uploads).

Example:

// Skip clearing title for uploads by specific user
add_filter('runthings_emt_skip', function($skip, $data, $postarr) {
    if (get_current_user_id() === 1) {
        return true; // Admin keeps auto-generated titles
    }
    return $skip;
}, 10, 3);



// Skip clearing title if filename contains "keep-title"
add_filter('runthings_emt_skip', function($skip, $data, $postarr) {
    $filename = $postarr['post_title'] ?? '';
    if (strpos($filename, 'keep-title') !== false) {
        return true;
    }
    return $skip;
}, 10, 3);

runthings_emt_mime_types

Filter which MIME types should have their title cleared. By default, all media types are affected.

Parameters:

  • $allowed_mime_types (array) – Array of MIME type patterns. Default [] (all types).
  • $attachment_mime_type (string) – The attachment’s MIME type.
  • $postarr (array) – Sanitized post data.

Example:

// Restrict to images only
add_filter('runthings_emt_mime_types', function($allowed_mime_types) {
    return ['image'];
});



// Restrict to images and PDFs only
add_filter('runthings_emt_mime_types', function($allowed_mime_types) {
    return ['image', 'application/pdf'];
});

Additional Notes

Built by Matthew Harris of runthings.dev, copyright 2022-2026.

Visit runthings.dev for more WordPress plugins and resources.

Contribute or report issues at the GitHub repository.

Insert space by Xinh Studio from Noun Project, https://thenounproject.com/browse/icons/term/insert-space/ (CC BY 3.0) – https://thenounproject.com/icon/insert-space-239543/

Image by David Khai from Noun Project, https://thenounproject.com/browse/icons/term/image/ (CC BY 3.0) – https://thenounproject.com/icon/image-661355/


Screenshots
FAQ
ChangeLog