WP Manifestindependent plugin directory
manifest / developer / wordpress

LicensesOS

Official WordPress plugin for LicensesOS — Add software licensing to any WordPress plugin or theme in minutes

by LicensesOS · github.com/licensesos/wordpress · website

0stars
0forks

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/licensesos/wordpress/archive/refs/heads/master.zip

License management for WordPress plugins and themes. Developers: add licensing with one line of code. End-users: manage all license keys in one place.

Description

LicensesOS provides a unified license management experience for WordPress sites. Plugin and theme developers can add licensing to their products with a single line of code, while end-users get a consistent UI for managing all their license keys.

For Developers:

  • Add licensing to your plugin/theme with one do_action call
  • No Composer required, no abstract classes to extend
  • Automatic settings page with activation/deactivation UI
  • Auto-update gating based on license status
  • Feature gating with entitlements
  • WP-CLI support for headless environments
  • Custom hooks and filters for advanced customization

For End-Users:

  • Single "Licenses" page in wp-admin to manage all keys
  • AJAX-powered activation and deactivation (no page reloads)
  • Clear status indicators and expiration warnings
  • Automatic license validation in the background

Quick Start for Developers:

` // In your plugin's main file — that's it! do_action('licensesos_register', [ 'slug' => 'my-awesome-plugin', 'api_key' => 'pk_live_xxx', 'plugin_file' => FILE, ]);

// Gate premium features anywhere in your code if ( licensesos_is_premium('my-awesome-plugin') ) { // Show premium features } `

Third-Party Service

This plugin communicates with the LicensesOS API to validate, activate, and deactivate license keys. Specifically, it makes requests to:

  • https://api.licensesos.com/api/v1/licenses/validate — Validate a license key
  • https://api.licensesos.com/api/v1/activations/activate — Activate a license for this site
  • https://api.licensesos.com/api/v1/activations/deactivate — Deactivate a license from this site

These requests are made when:

  • A user activates or deactivates a license key
  • The plugin checks license validity (cached, every 12 hours)
  • A user manually refreshes license status

Data sent includes: the license key, your site's domain (normalized), WordPress version, PHP version, and the plugin/theme version. No personal user data is collected.

Installation

  1. Upload the licensesos folder to /wp-content/plugins/.
  2. Activate the plugin through the "Plugins" menu in WordPress.
  3. Manage licenses under Settings > Licenses.

The plugin activates automatically when a LicensesOS-powered plugin or theme is installed on your site. No additional configuration is required by end-users.

Frequently Asked Questions

Do I need a LicensesOS account?

End-users do not need a LicensesOS account. They only need a valid license key provided by the plugin/theme developer.

Plugin/theme developers need a LicensesOS account to create and manage licenses.

What happens if the LicensesOS API is unreachable?

The plugin caches license validation results locally. If the API becomes unreachable, premium features remain active for a grace period (48 hours by default). This ensures your site is not affected by temporary network issues.

Can I use this with themes?

Yes! Use 'type' => 'theme' in your registration call and point plugin_file to your theme's functions.php.

Does this plugin collect any data?

The plugin sends your site's domain, WordPress version, PHP version, and plugin version to the LicensesOS API during license validation. No personal user data or analytics are collected.

Is the API key safe in my plugin's source code?

Yes. The API key (pk_live_*) is a public key used only for validation. It cannot create, modify, or delete licenses. This follows the same pattern as Stripe's publishable keys.

Screenshots

  1. License management page showing active license with details.
  2. License activation form for unlicensed products.
  3. Admin notice for expiring license.

Changelog

1.0.0

  • Initial release.
  • Product registration via do_action('licensesos_register', ...).
  • Settings page under Settings > Licenses.
  • AJAX activation and deactivation.
  • Transient-based caching with 48-hour grace period.
  • Auto-update gating for licensed plugins.
  • WP-CLI commands (list, activate, deactivate, status, refresh, info).
  • REST API endpoints for programmatic access.
  • Admin notices for expiring, expired, and revoked licenses.
  • Global helper functions: licensesos_is_premium(), licensesos_has_feature(), licensesos_get_feature(), licensesos_get_status().

Upgrade Notice

1.0.0

Initial release.