
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 |
![]() 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

