Skip to content

Easy Digital Downloads

Recipe for managing plugins that use the Easy Digital Downloads (EDD) Software Licensing add-on.

Configuration

Slug

  • Label: Slug
  • Required: Conditionally (required without item_id)
  • Type: Text
  • Helper Text: The slug is defined by the vendor. If item ID is defined, you can probably leave this empty.
  • Tooltip: You can find this in the plugin code. This is typically the third argument of the updater class's constructor (item_name)

Item ID

  • Label: Item ID
  • Required: Conditionally (required without slug)
  • Type: Text
  • Helper Text: The item ID is defined by the vendor. If slug is defined, you can probably leave this empty.
  • Tooltip: You can find this in the plugin code. This is typically the second argument of the updater class's constructor (item_id)

Endpoint URL

  • Label: Endpoint URL
  • Required: Yes
  • Type: URL
  • Placeholder: https://example.com
  • Helper Text: The URL of the Easy Digital Downloads site
  • Tooltip: You can find this in the plugin code. This is typically the first argument of the updater class's constructor.

Method

  • Label: Method
  • Required: Yes
  • Type: Select (searchable)
  • Options: GET, POST
  • Tooltip: You can find this in the plugin code. See the api_request method in the updater class.

Source URL

  • Label: Source URL
  • Required: Yes
  • Type: URL
  • Placeholder: https://example.com
  • Helper Text: The URL of the WordPress site where the license is active

License Key

  • Required: Yes
  • Type: Secret

Features

  • License Activation: Can activate licenses with the vendor

How to Obtain License Information

To configure an EDD-based plugin, you'll need to examine the plugin's code to find:

  1. Endpoint URL: Look for the first argument in the plugin updater class constructor (typically something like new EDD_SL_Plugin_Updater('https://example.com', ...))
  2. Item Name/Slug: The third argument in the updater constructor
  3. Item ID: The second argument (if provided)
  4. Method: Check the api_request method to see if it uses GET or POST

All of this information is typically found in the main plugin file or in an includes/updater.php type file.

Notes

  • This is a generic recipe for any plugin using EDD Software Licensing
  • Supports both item name (slug) and item ID identification methods
  • Can extract the latest changelog entry using regex patterns
  • Validates licenses with multiple status checks: valid, expired, disabled, site_inactive, item_name_mismatch, no_activations_left
  • Includes safety check to ensure the correct package is being downloaded (prevents vendor API fallback issues)
  • Supports both GET and POST request methods as different vendors implement it differently