Con la extensión Licencias de Software para Easy Digital Downloads puedes configurar actualizaciones automáticas para temas. Esto no significa que el tema de tu cliente se actualizará solo, sino que tu cliente podrá actualizar su tema utilizando las herramientas de actualización tradicionales de WordPress, como si el tema estuviera alojado en WordPress.org.
Hay dos componentes clave en el ejemplo:
- El archivo
composer.jsonque configurará todo lo que necesitas para empezar a trabajar con la API de Licencias de Software en tu plugin de WordPress. - El archivo
functions.php, que incluye el código para conectarse al SDK de EDD Software Licensing, una solución "drop-in" para desarrolladores de plugins y temas de WordPress para integrar rápidamente Easy Digital Downloads Software Licensing en sus productos sin configuraciones complejas ni interfaces de administración personalizadas.
Paso 1: Instalar el paquete composer
Actualice (o cree) el archivo composer.json de su plugin en el directorio principal de su plugin. Ejecute composer install para añadir el SDK de Licencias de Software a su plugin (tenga en cuenta que este enlace incluye las últimas instrucciones y ejemplos).
Paso 2: Actualizar tu tema para usar el SDK
Este fragmento proporciona un punto de partida para el código requerido en tu tema para integrarse con el SDK:
/**
* This is just a demonstration of how theme licensing works with
* Easy Digital Downloads.
*
* @package EDD Sample Theme
*/
/**
* Load theme updater functions.
* Action is used so that child themes can easily disable.
*/
/**
* Initialize the theme license handler and updater.
*
* This registry handles activating and deactivating the license key,
* as well as checking for updates to the theme.
*/
add_action(
'edd_sl_sdk_registry',
function ( $init ) {
$init->register(
array(
'id' => 'edd-sample-theme',
'url' => 'https://edd.local',
'item_id' => 36894,
'version' => '1.0.0',
'file' => __FILE__,
'type' => 'theme',
)
);
}
);
// Load the SDK from the vendor directory. The SDK handles autoloader setup automatically.
if ( file_exists( __DIR__ . '/vendor/easy-digital-downloads/edd-sl-sdk/edd-sl-sdk.php' ) ) {
require_once __DIR__ . '/vendor/easy-digital-downloads/edd-sl-sdk/edd-sl-sdk.php';
}
}
Cambie la información para que coincida con su tienda:
id– Slug del plugin/tema.url– La URL de la tienda.item_id– El ID del artículo (en su tienda).version– El número de versión actual.file– El archivo principal del plugin. No es necesario para temas.type–pluginotheme. No es necesario para plugins.weekly_check– Opcional: si se debe realizar una solicitud semanal para confirmar el estado de la licencia. Por defecto es true.
Una vez activado tu tema, tus clientes podrán añadir su clave de licencia y optar por permitir que tu tienda añada sus versiones de PHP y WordPress a sus datos de activación:

Notas importantes
- Si tiene problemas con la verificación SSL al solicitar actualizaciones, puede usar el filtro
edd_sl_api_request_verify_sslpara deshabilitar la bandera de verificación SSL. - Si desea evitar que sus usuarios habiliten las actualizaciones automáticas para su tema o plugin, puede añadir un fragmento de código a su código distribuido para deshabilitar las actualizaciones automáticas:
add_filter( 'auto_update_plugin', 'edd_sample_disable_plugin_autoupdates', 10, 2 );
function edd_sample_disable_plugin_autoupdates( $update, $plugin ) {
if ( 'my-plugin/my-plugin.php' === $plugin->plugin ) {
return false;
}
return $update;
}
add_filter( 'auto_update_theme', 'edd_sample_disable_theme_autoupdates', 10, 2 );
function edd_sample_disable_theme_autoupdates( $update, $theme ) {
if ( 'my-theme' === $theme->theme ) {
return false;
}
return $update;
}
