Bulk Delete allows you to delete posts, pages, attachments, users and meta fields in bulk based on different conditions and filters.
Features
The following conditions and filters are supported.
Deleting posts
This Plugin supports the following bulk delete options for deleting posts
- Delete posts by category
- Delete posts by tag
- Delete posts by custom taxonomy
- Delete posts by custom post type
- Delete posts by comment count
- Delete posts by url
- Delete posts by custom field (Available as a Pro addon)
- Delete posts by title (Available as a Pro addon)
- Delete posts by duplicate title (Available as a Pro addon)
- Delete all draft posts
- Delete all pending posts
- Delete all private posts
- Delete all scheduled posts
- Delete all posts from trash (Available as a Pro addon)
All the above options support the following filters
- Post date greater than X days
- Post date less than X days
- Only public posts
- Only private posts
- Restrict to first N posts
- Delete permanently or just move to trash
- Schedule deletion of posts automatically (Available as a Pro addon)
Deleting posts by content
- Delete posts by content (Available as a Pro addon)
- Delete duplicate posts by title (Available as a Pro addon)
- Delete posts based on whether it contains attachment or not (Available as a Pro addon)
Deleting posts by user
- Delete posts by user role (Available as a Pro addon)
- Delete posts by user (Available as a Pro addon)
Deleting pages
- Delete all published pages
- Delete all draft pages
- Delete all pending pages
- Delete all private pages
- Delete all scheduled pages
- Delete all pages from trash (Available as a Pro addon)
Like posts, all the above options support the following filters as well
- Post date greater than X days
- Post date less than X days
- Only public pages
- Only private pages
- Restrict to first N pages
- Delete permanently or just move to trash
- Schedule deletion of pages automatically (Available as a Pro addon)
Deleting post revisions
- Delete all post revisions
Deleting users
- Delete users based on user role
- Delete users based on user meta fields
- Delete users who have not logged in in the last X days
- Delete users based on their registered date
Deleting Meta Fields
- Delete Post meta fields
- Delete Comment meta fields
- Delete User meta fields
Deleting Attachments
- Delete Attachments (Available as a Pro addon)
Deleting content from other plugins
- Delete Jetpack Contact Form Messages
More options coming soon :)
As you can see, the Plugin provide comprehensive options and filters to perform bulk deletion.
If you looking for just moving posts, instead of deleting, then use [Bulk Move Plugin][2] instead.
Pro Addons
The following are the popular pro addons that are available for purchase. The full list of
pro addons is available at the plugin site.
- Delete posts by custom field - Adds the ability to delete posts based on custom field. More details.
- Delete posts by content - Adds the ability to delete posts based on content. More details.
- Delete posts by attachment - Adds the ability to delete posts based on attachment More details.
- Delete posts by title - Adds the ability to delete posts based on title. More details.
- Delete posts by duplicate title - Adds the ability to delete posts based on duplicate title. More details.
- Delete posts by user role - Adds the ability to delete posts based on user role. More details.
- Delete posts by user - Adds the ability to delete posts based on user. More details.
- Delete from trash - Adds the ability to delete posts and pages from trash. More details.
- Scheduler Email - Sends email whenever a Bulk WP Scheduler runs. More details.
- Scheduler for deleting posts Category - Adds the ability to schedule auto delete of posts based on category. More details.
- Scheduler for deleting posts Tag - Adds the ability to schedule auto delete of posts based on tag. More details.
- Scheduler for deleting posts by Custom Taxonomy - Adds the ability to schedule auto delete of posts based on custom taxonomy. More details.
- Scheduler for deleting posts by Custom post type - Adds the ability to schedule auto delete of posts based on custom post type. More details.
- Scheduler for deleting posts by Post Status - Adds the ability to schedule auto delete of posts based on post status like drafts, pending posts, scheduled posts etc. More details.
- Scheduler for deleting pages by status - Adds the ability to schedule auto delete of pages based on status. More details.
- Scheduler for deleting users by User Role - Adds the ability to schedule auto delete of users based on user role. More details.
- Scheduler for deleting users by User Meta - Adds the ability to schedule auto delete of users based on user meta. More details.
- Delete Post Meta Fields Pro - Adds the ability to delete post meta fields based on value and to schedule automatic deletion. More details.
- Delete Comment Meta Fields Pro - Adds the ability to delete comment meta fields based on value and to schedule automatic deletion. More details.
- Delete User Meta Fields Pro - Adds the ability to delete user meta fields based on value and to schedule automatic deletion. More details.
- Delete attachment - Adds the ability to delete attachments More details.
- Delete Jetpack Contact Form Messages Pro - Adds the ability to delete Jetpack Contact Form Messages based on filters and to schedule automatic deletion. More details.
Support
The simplest way to install the plugin is to use the built-in automatic plugin installer. Go to plugins -> Add New and then enter the name of the plugin to automatically install it.
If for some reason the above method doesn't work then you can download the plugin as a zip file, extract it and then use your favorite FTP client and then upload the contents of the zip file to the wp-content/plugins/ directory of your WordPress installation and then activate the Plugin from Plugins page.
2025-09-06
- WebFactory took over development
- full rewrite will follow soon
2019-04-11 - v6.0.2
Enhancements
- Show Bulk WP menu to only administrators.
- Make Delete Comment Meta scheduler more reliable.
- Tweak the message that is shown when a cron job is manually run.
2019-04-09 - v6.0.1
New Features
- Added the ability to choose post status in addition to post type while deleting meta fields.
Enhancements
- Enhanced warning and error messages.
- Enhanced the taxonomy dropdown by grouping built-in and custom taxonomies.
- Enhanced UI for scheduling deletion.
2019-02-22 - v6.0.0 (10th Anniversary release)
New Features
- Added the ability to delete taxonomy terms based on name.
- Added the ability to delete taxonomy terms based on post count.
- Added the ability to delete posts based on comment count.
- Added the ability to delete users who don't belong to any role (no role).
- Added the ability to reassign posts of a user who is going to be deleted to another user before deletion.
- Added the ability to unstick sticky posts.
- Added support for custom post status.
- Added the ability to delete comment meta based on both meta key and value.
- Complete rewrite of the way deletion is handled to improve performance.
Enhancements
- Load all 3rd party library js and css locally and not from CDN. The plugin can work fully in offline mode.
- Introduced a filter to exclude certain posts or users from getting deleted.
- Display schedule label instead of slug in scheduled jobs list table.
- Lot of UI/UX improvements.
- Fully compatible with from PHP 5.3 to 7.3.
- Fully compatible with Gutenberg.
2018-01-29 - v5.6.1
- New Features
- Added the ability to delete users based on partial user meta values.
- Enhancements
- Fixed a typo in filter text.
2017-12-28 - v5.6.0
- New Features
- Added the ability to delete posts based on custom post status.
- Added the ability to filter delete users based on post count.
- Added the ability to filter the deletion of Jetpack contact messages using various filters.
- Enhancements
- Now works in PHP version from 5.2 to 7.2
Old Releases
We have made more than 50 releases in the last 10 years. You can read the changelog of all the old releases at
https://bulkwp.com/bulk-delete-changelog/