Products
A product in LicenceForge represents a WordPress plugin or theme that you sell and distribute under licence. Each product has its own price tiers, version history, download packages, and rollout configuration.
What is a product?
Every plugin or theme you want to licence is registered as a product in LicenceForge. The product record holds the metadata that powers licence validation, update delivery, and the WordPress update API integration:
- Identity — name, slug, description, and homepage URL
- Versioning — current version, changelog, WordPress and PHP compatibility requirements
- Distribution — local ZIP path or external CDN URL, SHA-256 package hash
- Pricing — one or more price tiers with billing intervals, activation limits, and feature flags
- Trials — optional trial periods with per-email enforcement
- Rollouts — staggered version delivery with deterministic licence bucketing
Note
Products cannot be deleted once they have associated licences. Deactivate a product by unchecking is_active to hide it from the API without affecting existing licence holders.
Product lifecycle
- Create the product with a unique slug and basic metadata
- Define price tiers with billing intervals, activation limits, and payment provider IDs
- Configure feature flags per tier for conditional functionality in your plugin
- Upload a version and set WordPress/PHP compatibility requirements
- Optionally enable trials for prospective customers
- Use staggered rollouts to safely deliver updates to a percentage of licences
Section pages
Creating Products
Form fields, slug requirements, and product metadata.
Price Tiers
Billing intervals, activation limits, Stripe and WooCommerce mapping.
Feature Gating
Per-tier feature flags and the has_feature() client method.
Version Management
Version updates, package integrity, and changelog management.
Trials
Trial periods, one-per-email enforcement, and trial-to-paid conversion.
Staggered Rollouts
Percentage-based delivery, deterministic bucketing, and version pulling.
Database tables
Products span two database tables, both prefixed with wp_wplf_:
| Table | Purpose |
|---|---|
wplf_products |
Product identity, versioning, download paths, trial settings, and rollout configuration |
wplf_product_prices |
Price tiers with billing interval, amount, activation limit, feature flags, and payment provider IDs |