Plug Version Switcher
A simple, safe way to switch any installed plugin to a specific version from WordPress.org or a GitHub repository — right from your dashboard.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/aunshon/plug-version-switcher/archive/refs/heads/develop.zipA simple, safe way to switch any installed plugin to a specific version from WordPress.org or a GitHub repository — right from your dashboard.
Description
Plug Version Switcher lets you switch an installed plugin to another released version without leaving the WordPress admin. This is helpful when you need to:
- Roll back to a previous version after a breaking change
- Test a plugin against a specific version for QA or compatibility
- Move forward to a newer (but still released) version
It supports two sources:
- WordPress.org: Fetches the full list of released versions from the official plugin directory
- GitHub: Fetches tags from a public repository and installs the selected tagged release ZIP
Under the hood, the plugin safely handles the process by:
- Using WordPress core upgrader APIs to install the chosen ZIP and replace existing plugin files as needed
- It does not change a plugin’s activation status; activation/deactivation remains a user action
Built for administrators who need version control without SSH/FTP or CLI tools.
Key Features
- Switch versions of any installed plugin from the WordPress.org directory
- Switch to tagged releases from GitHub repositories
- Clean, guided admin UI with AJAX-powered flows
- Nonces and capability checks for security
- Respects activation status: does not activate or deactivate plugins automatically
How It Works (Quick Steps)
- Go to: Dashboard → Version Switcher → WordPress.org Plugins.
- Pick an installed plugin → View Available Versions → Switch to your chosen version.
- Or go to: Dashboard → Version Switcher → GitHub Plugins.
- Enter a GitHub repository URL (e.g. https://github.com/vendor/repo) → Fetch tags → Switch to the desired tag.
Installation
- Upload the plug-version-switcher folder to the /wp-content/plugins/ directory, or install it via the Plugins → Add New screen by uploading the ZIP.
- Activate the plugin through the “Plugins” screen in WordPress.
- Navigate to “Version Switcher” in the admin menu.
Frequently Asked Questions
Does this overwrite the existing plugin folder?
The tool uses WordPress core upgrader APIs to install the selected version and replace existing plugin files as needed. It does not change the plugin’s activation status; activating or deactivating plugins remains a user action.
Can I switch any plugin?
- WordPress.org tab: You can switch versions for any plugin that is installed on your site and available on WordPress.org.
- GitHub tab: You can switch to any tagged release ZIP that GitHub provides for the repository you enter. Public repositories are supported. If the repository requires authentication, support may vary based on your environment.
Will this affect plugin settings?
Most plugins store settings in the database, so switching versions usually retains settings. However, schema or option changes between versions may behave differently depending on the plugin. Always back up first.
Is it safe to use on production?
While the process is designed to be safe, switching plugin code in production always carries risk. Always keep backups and ideally test on a staging site first.
What permissions are required?
Only users with the manage_options capability can use the switching actions.
External services
This plugin connects to external services to discover plugin versions and to download release packages. Below is a clear description of what is used, what is sent, and when.
WordPress.org (api.wordpress.org / downloads.wordpress.org)
- What it is used for: To fetch information about installed plugins and their available versions from the official WordPress.org Plugins API, and to download selected plugin version packages.
- What data is sent and when:
- The plugin slug (e.g., "akismet") is sent when you request available versions for an installed plugin.
- When you choose to switch to a version from WordPress.org, WordPress downloads the corresponding ZIP package from WordPress.org.
- Standard HTTP request metadata (such as your server's IP, user agent) may be transmitted as part of normal web requests.
- Terms and privacy:
- Terms of Service: https://wordpress.org/tos/
- Privacy Policy: https://wordpress.org/privacy/
GitHub (api.github.com / github.com)
- What it is used for: To fetch repository tags (released versions) and to download the selected tagged release ZIP from GitHub.
- What data is sent and when:
- The repository owner and name (parsed from the URL you enter, e.g., vendor/repo) are sent to GitHub when you fetch tags.
- If you provide a Personal Access Token for private repositories, it is used as an Authorization header only for the current request. The plugin does not store this token.
- When you choose to switch to a GitHub tag, the corresponding ZIP is downloaded from GitHub.
- Standard HTTP request metadata (such as your server's IP, user agent) may be transmitted as part of normal web requests.
- Terms and privacy:
Screenshots
- GitHub tab to fetch tags from a repository
- WordPress.org plugins view with the list of installed plugins
Changelog
1.0.0
- Initial public release
- Switch versions from WordPress.org for installed plugins
- Switch versions from GitHub tagged releases
- Secure, AJAX-driven admin experience
Upgrade Notice
1.0.0
Initial release. Use to safely switch installed plugin versions from WordPress.org or GitHub.