Version Locker

Description

Version Locker lets you lock specific plugins and themes to their current version. Once locked, they won’t update automatically or manually until you unlock them.

Useful for keeping your site stable when you have customized plugins, client sites, or production environments where you need control over when things update.

What It Does

  • Lock individual plugins to prevent updates
  • Lock individual themes to prevent updates
  • Block all plugin updates at once (global killswitch)
  • Block all theme updates at once (global killswitch)
  • Block WordPress core updates (global killswitch)
  • Quick toggle locks on/off without page reload
  • Bulk lock or unlock multiple items
  • Email alerts when locked items try to update
  • Search and filter your plugins and themes
  • Activity log showing who locked what and when
  • Works on Multisite (each site has its own locks)

How It Works

The plugin uses WordPress filters to hide update notifications and block update attempts. It doesn’t modify any plugin or theme files.

Credits

Thanks to Nemai Naskar for testing and feedback on 1.2.2.

Installation

  1. Install through WordPress Plugins screen or upload to /wp-content/plugins/
  2. Activate the plugin
  3. Go to Tools Version Locker
  4. Toggle locks on or off for plugins and themes

FAQ

Does this modify plugin or theme files?

No. It only uses WordPress filters to control update behavior.

Will locked items still show update available?

You’ll see a small indicator that an update exists, but the update button won’t appear.

Can I still update a locked item?

Yes, just unlock it first. Updates work normally once unlocked.

What’s the difference between locking one item vs using the killswitch?

Locking targets specific items. The killswitch disables ALL plugin updates, ALL theme updates, or core updates site-wide.

Does this work on Multisite?

Yes. Each site has its own independent locks.

What happens if I delete the plugin?

By default, all locks and settings are preserved on uninstall. To delete all data on removal, enable “Delete all data on uninstall” in the Settings tab before uninstalling.

What changed from 1.2.1?

Theme locking, global killswitches, email notifications, quick toggles, bulk actions, Multisite support, and a rebuilt codebase. All existing locks carry over automatically.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Version Locker” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Version Locker” into your language.

Interested in development?

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

Changelog

1.2.2 – 2026-01-24

New

  • Theme locking — lock individual themes just like plugins
  • Global killswitches — disable all plugin, all theme, or core updates with a single toggle
  • Email notifications — get alerted when a locked item tries to update
  • Quick toggle — lock or unlock without a page reload
  • Bulk lock/unlock — select multiple items and toggle them at once
  • Auto-lock for newly installed plugins (optional)
  • Live search and filter on plugins and themes tabs
  • Multisite support — each site manages its own locks independently
  • Audit log now available on all sites (previously multi-admin only)
  • Audit log CSV export
  • Rate limiting on AJAX actions to prevent abuse

Improvements

  • Rebuilt with a proper class-based structure (autoloader, services, failsafe layer)
  • Error handling now catches bootstrap failures and shows a graceful admin notice instead of crashing
  • Improved input validation across all form submissions and AJAX handlers
  • Added VLOCKER_DISABLE_ALL constant as an emergency kill switch (define in wp-config.php)
  • Better performance through caching
  • PHP requirement lowered from 7.4 to 7.0
  • Uninstall behavior changed to safe-by-default — data is now preserved on removal unless you opt in to deletion from the Settings tab

Security

  • Separate capability checks per tab (plugins, themes, settings)
  • AJAX nonce verification on all endpoints
  • CSV injection protection on audit log export
  • Transient-based rate limiting on quick toggle and test email

1.2.1

  • Initial release
  • Plugin locking only (no theme support)
  • Audit log for multi-admin sites only