Version Pilot offers a decentralized and seamless update solution for WordPress plugin developers who host their plugins outside the official repository. It perfectly mimics the native WordPress update experience without relying on a central server.
This solution consists of two parts:
- Author-side Plugin ("Version Pilot"): You install this plugin on your own WordPress site. It provides a clean interface to manage all your plugins' update information. This information is then exposed via a secure REST API endpoint.
- Client-side Integration Code: A lightweight PHP snippet that you, the developer, embed in your distributed plugins. This code uses WordPress's built-in hooks to periodically check your Version Pilot API for updates. When a new version is detected, it integrates seamlessly into the standard WordPress update system, allowing your users to update with a single click from their admin dashboard, just like any official plugin.
Key Features:
- Plugin-Centric Workflow: First, add your plugin's core information. Then, add multiple versions to that plugin. This is more intuitive and reduces data redundancy.
- Advanced Version Management: Set minimum client version requirements for updates, ensuring compatibility and preventing problematic downgrades.
- Intelligent Version Matching: Smart logic to serve the most appropriate update based on client version and requirements.
- Authentication Support: Built-in support for license verification and access control mechanisms.
- Dedicated Versions List: A complete history of all releases across all your plugins with advanced filtering options.
- AJAX-Powered UI: Enable or disable updates directly from the versions list with a single click, no page reload needed.
- Streamlined Process: The "Add New Version" screen is simplified, automatically linking to its parent plugin and requiring only version-specific details.
- Modern Codebase: Fully refactored for better performance, security, and adherence to modern WordPress best practices.
This plugin has two installation processes: one for you (the plugin author) and one for integrating the updater into your plugins.
Part 1: For You (The Plugin Author)
- Upload the
version-pilot
folder to the /wp-content/plugins/
directory on your own website.
- Activate the plugin through the 'Plugins' menu in WordPress.
- Navigate to the new "Version Pilot" menu in your admin sidebar.
- Go to "All Plugins" and click "Add New".
- Fill in your plugin's permanent information (e.g., Plugin Name, Plugin Slug, Homepage) and Publish. The "Plugin Slug" must be unique and match the one used in the client code.
- Return to the "All Plugins" list. Find your plugin and click the "Add New Version" link.
- Fill in the version-specific details (e.g., Version Number, Package URL, Changelog) and Publish.
- Optionally, set a "Minimum Required Version" to ensure clients meet compatibility requirements before receiving this update.
- Your update API is now live for that version!
Part 2: Integrating the Updater into Your Plugin
- Copy the
version-pilot-client-updater.php
file (from the /client/
directory) into your own plugin's folder.
- In your plugin's main PHP file, include and instantiate the updater class.
```php
// Include the updater class.
require_once dirname(
FILE ) . '/path/to/version-pilot-client-updater.php';
// Instantiate the updater.
new Version_Pilot_Client_Updater(
'
https://your-author-site.com', // The URL where your Version Pilot plugin is installed.
'my-awesome-plugin', // The unique slug for THIS plugin.
plugin_basename(
FILE ), // The plugin's basename (e.g., my-awesome-plugin/my-awesome-plugin.php).
'1.0.0' // The CURRENT version of THIS plugin.
);
```
That's it! Your plugin will now automatically check for updates with advanced version matching.