Revision Strike

Description

Unless post revisions are explicitly limited, WordPress will build up a hefty sum of revisions over time. While it’s great to have revision history for some recent content, the chances that old revisions will be necessary diminish the longer a post has been published. Revision Strike is designed to automatically remove these unneeded revisions on older, published posts.

How does it work?

First, a threshold is set, with a default of 30 days. Once a day, Revision Strike will run and find any post revisions in the database attached to published posts with a post date of at least 30 (or your custom threshold) days ago, and “strike” (tear-down and remove) them from the WordPress database.

Contributing

If you’d like to help build Revision Strike, please visit the plugin’s GitHub page. Contributors are welcome, and details can be found in the repo’s README file.

Screenshots

  • The Tools > Revision Strike page in action.

Installation

  1. Upload the revision-strike/ directory to your WordPress installation’s plugin directory (by default, /wp-content/plugins).
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

Activating the plugin will automatically register a daily WP Cron event to clean up revisions on established posts. If you’d prefer not to wait, you can explicitly purge post revisions through the ‘Tools > Revision Strike’ page within WordPress or with WP-CLI.

FAQ

Installation Instructions
  1. Upload the revision-strike/ directory to your WordPress installation’s plugin directory (by default, /wp-content/plugins).
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

Activating the plugin will automatically register a daily WP Cron event to clean up revisions on established posts. If you’d prefer not to wait, you can explicitly purge post revisions through the ‘Tools > Revision Strike’ page within WordPress or with WP-CLI.

Can I configure how long a post needs to be published before its revisions can be removed?

Yes. On the Settings > Writing page there is an option to set the default number of days a post must be published before removing its revisions, but out of the box it’s 30 days.

Can I manually run Revision Strike without having to wait for the daily WP Cron event?

Yup, just visit Tools > Revision Strike within the WordPress admin area. If you’re a WP-CLI user, you can also run Revision Strike from the command line (run wp revision-strike clean --help for a full list of options).

Contributors & Developers

“Revision Strike” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Revision Strike” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

For a full list of changes, please see the Change Log in the GitHub repo.

0.6.0

September 16, 2017

  • Fixed bug where warnings were being thrown when Revision Strike was being run verbosely via WP-CLI. Props @ivankruchkoff.
  • Re-licensed the plugin under the MIT license.

0.5.0

May 15, 2017

  • Add the revisionstrike_capabilities filter to allow setting required capabilities to access Revision Strike settings page. Props @pereirinha. (#28)

0.4.1

March 4, 2017

  • Adjusted the visibility of RevisionStrikeCLI::log_deleted_revision() in the WP-CLI component.

0.4.0

July 29, 2016

  • Move from the manual pre-commit hook to WP Enforcer.
  • Re-work the copy on Tools › Revision Strike to be more clear to site administrators. (#26)
  • Add additional tests around the Tools › Revision Strike page confirmation messages. (#25)

0.3.0

June 20, 2016

  • Lock Composer dependency versions to ensure more consistent testing via Travis-CI.
  • Add the revisionstrike_get_revision_ids filter to enable third-party plugins and themes to alter the array of revision IDs. (#21)
  • Implement Grunt to more consistently build releases. (#18)

0.2

August 16, 2015

  • Added a “Limit” setting to Settings › Writing. (#13)
  • Added a “clean-all” WP-CLI command. (#14)
  • Clarified language on the Settings › Writing and Tools › Revision Strike pages. Props to @GhostToast for the suggestion! (#16)
  • Strike requests are now batched into groupings of 50 IDs at a time to avoid overwhelming underpowered machines. (#17)

0.1

August 9, 2015

  • Initial public release