A library for WordPress plugins, to utilize license verification and auto-updating using WordPress License Server.
The WordPress Plugin Integration for the WordPress License Server., (*1)
There's two ways you can integrate this and enable automatic updates for your own plugin., (*2)
If you're already using Composer, you'll know what to do., (*3)
If not, you'll need to install Composer on your computer and run composer init
. This will initialize composer in your packages root., (*4)
Once that is complete, run this:, (*5)
composer require smoolabs/wordpress-plugin-updater
Composer will then install the integration into the vendor/
folder., (*6)
To include the plugin files now, simply include the vendor/autoload.php
file., (*7)
<?php require_once 'vendor/autoload.php';
Download this repository as a .zip file and extract it somewhere into your plugin files.
Then just include the loader.php
file., (*8)
<?php require_once '/path/to/updater/loader.php';
There's only one thing you'll need to do, to enable the integration once you've included it into your project., (*9)
In your plugins main file, paste this code:, (*10)
$client = \Smoolabs\WPU\V4\WPLSController::initClient('http://url-to-wpls.com', array( 'name' => 'Example Plugin Name', 'version' => '1.0.0', 'path' => __FILE__, 'slug' => 'example-plugin-slug' ));
Now, replace Example Plugin Name with your plugins name, http://update-server-url.com with the URL where you hosted the update server, my-example-plugin with your plugin slug (for example the plugin folders name) and 1.0.0 with your current plugins version., (*11)
That's all you have to do! The plugin will now receive automatic updates once you make them available on your server (of course, only if the user supplied a license)!, (*12)
You may want to stop your buyers from using your plugin until they have entered their licenses. You can easily disable functionality like this:, (*13)
// Your Updater instance $client = \Smoolabs\...; if ($client->isActivated()) { /* * The User has activated the plugin. * Add your plugin functionality here. */ } else { /* * The User has *NOT* activated the plugin. * Add activation messages etc here, for example on your plugin settings page. */ }
Please make sure that this complies with Envato's rules on locking fieatures behind licenses! The plugin may not be accepted otherwise., (*14)