Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
#WordPress Plugin. Bulk Delete is a WordPress Plugin that allows you to delete posts, pages and users in bulk based on different conditions and filters.
PHP JavaScript
Failed to load latest commit information.
assets-wp-repo
include Change the date keys of delete options
js Tweak the way messages are shown to the user
languages
style Moved all js code to a seperate file
HISTORY.md
README.md
bulk-delete.php Bump up version number for release

README.md

Bulk Delete

Contributors: sudar
Tags: mass, bulk, delete, post, comment, draft, revision, page, user, meta fields
Requires at least: 3.9
Tested up to: 4.1.1
Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
Stable tag: 5.4.2

Bulk delete posts, pages, users and meta fields in bulk based on different conditions and filters.

Description

Bulk Delete is a WordPress Plugin that allows you to delete posts, pages, users and meta fields in bulk based on different conditions and filters.

The following conditions and filters are supported.

Features

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 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 posts by user role (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 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 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 posts
  • Only private posts
  • Restrict to first N posts
  • 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 who have not logged in in the last X days

Deleting Meta Fields

  • Delete Post meta fields
  • Delete Comment meta fields
  • Delete User meta fields

Deleting other items

  • 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 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 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 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.
  • 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 Jetpack Contact Form Messages Pro - Adds the ability to delete Jetpack Contact Form Messages based on filters and to schedule automatic deletion. More details.

Development

The development of the Plugin happens over at github. If you want to contribute to the Plugin, fork the project at github and send me a pull request.

If you are not familiar with either git or Github then refer to this guide to see how fork and send pull request.

If you are looking for ideas, then you can start with one of TODO items from the issue tracker :)

Support

  • If you have found a bug/issue or have a feature request, then post them in github issues
  • If you have a question about the plugin usage or need help to troubleshoot, then post about it in our BulkWP Support forums
  • If you have a question about any of the addon or need help to troubleshoot the addons, then post about it in our BulkWP Support forums
  • If you like the Plugin, then kindly leave a review/feedback at WordPress repo page. This will help more people to discover the plugin.
  • Checkout other WordPress Plugins that I have written
  • If anything else, then contact us in twitter.

Translation

The Plugin currently has translations for the following languages.

  • Dutch (Thanks Rene)
  • Brazilian Portuguese (Thanks Marcelo of Criacao de Sites em Ribeirao Preto)
  • German (Thanks Jenny Beelens)
  • Turkish Portuguese (Thanks Bahadir Yildiz)
  • Spanish (Thanks Brian Flores)
  • Italian (Thanks Paolo Gabrielli)
  • Bulgarian (Thanks Nikolay Nikolov)
  • Russian (Thanks Maxim Pesteev)
  • Lithuanian (Thanks Vincent G)
  • Hindi (Thanks Love Chandel)
  • Serbian (Thanks Diana)
  • Gujarati (Thanks Puneet)

The pot file is available with the Plugin. If you are willing to do translation for the Plugin, use the pot file to create the .po files for your language and let me know.

Credits

Thanks Martin Capodici for providing the code to implement the "delete specific page" feature.

Thanks to Time picker addon JavaScript library, which the Plugin uses.

Installation

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.

Frequently Asked Questions

After installing the Plugin, I just see a blank page.

This can happen if you have huge number of posts and your server is very underpowered. Check your PHP error log to see if there are any errors and correct them. The most common problems are script timeout or running out of memory. Change your PHP.ini file and increase the script timeout and/or amount of memory used by PHP process.

In particular try to change the following settings

  • max_execution_time = 600 - Maximum execution time of each script, in seconds
  • max_input_time = 30 - Maximum amount of time each script may spend parsing request data
  • memory_limit = 256M - Maximum amount of memory a script may consume

You can also try to disable different sections of the Plugin, if you have huge number of posts.

How do I disable different sections of the Plugin

You can enable or disable different sections of the Plugin by choosing the required modules in the screen option. You can open screen options by clicking the link in the top right corner of the Plugin page.

How do I know what are the current values for these options configured in my server?

Access the System Info page using the menu Bulk WP -> System Info. The System info page displays the values for the different configuration options that are configured in your server.

Is it possible to restore the posts that I have deleted through the Plugin?

If you choose the option "Move to trash" then you can find them from trash. But if you choose "Delete permanently", then it is not possible to retrieve the posts. So be very careful.

Is it possible that some Plugin are not compatible with Bulk Delete?

Yes. If a Plugin rewrites the query vars by using add_filter( 'pre_get_posts' ) then it may be incompatible with this Plugin.

If you find any Plugin with which Bulk Delete doesn't work, then let me know and I will try to see if I can add support through some hack.

Is it possible to schedule deletion of posts?

The ability to schedule deletion of posts is available as a pro addon.

I have a question about the pro addons, how should I contact you?

You can contact us by posting about it in our support forum.

Screenshots

The above screenshot shows how you can delete Posts by post status. You can choose between drafts, pending posts, scheduled posts, privates posts.

The above screenshot shows how you can delete posts by category.

The above screenshot shows how you can delete posts by tag.

The above screenshot shows how you can delete posts by custom taxonomy.

The above screenshot shows how you can delete posts by post type.

The above screenshot shows how you can delete pages by post status. You can choose between draft pages, pending pages, scheduled pages and privates pages.

The above screenshot shows how you can delete users by user role.

The above screenshot shows how you can schedule auto delete of posts. Note that this feature is available only when you buy pro addons.

The above screenshot shows how you can enable/disable different sections in the delete posts page of the Plugin. Similarly you can enable different sections in the other pages of the plugin.

The above screenshot shows the different pages that are available in the plugin.

Readme Generator

This Readme file was generated using wp-readme, which generates readme files for WordPress Plugins.

Something went wrong with that request. Please try again.