Com a extensão Licenciamento de Software para Easy Digital Downloads, você pode configurar atualizações automáticas para temas. Isso não significa que o tema do seu cliente será atualizado automaticamente, mas sim que seu cliente poderá atualizar seu tema usando as ferramentas tradicionais de atualização do WordPress, como se o tema estivesse hospedado no WordPress.org.
Existem dois componentes principais para o exemplo:
- O arquivo
composer.jsonque configurará tudo o que você precisa para começar a trabalhar com a API de Licenciamento de Software em seu plugin WordPress. - O arquivo
functions.php, que inclui o código para se conectar ao SDK de Licenciamento de Software da EDD, uma solução de fácil integração para desenvolvedores de plugins e temas WordPress integrarem rapidamente o Licenciamento de Software da Easy Digital Downloads em seus produtos sem configurações complexas ou interfaces de administração personalizadas.
Passo 1: Instale o pacote composer
Atualize (ou crie) o arquivo composer.json do seu plugin no diretório principal do seu plugin. Execute composer install para adicionar o SDK de Licenciamento de Software ao seu plugin (observe que este link inclui as instruções e exemplos mais recentes também).
Passo 2: Atualize seu tema para usar o SDK
Este trecho fornece um ponto de partida para o código necessário em seu tema para integrar com o 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';
}
}
Altere as informações para corresponder à sua loja:
id– Slug do plugin/tema.url– A URL da loja.item_id– O ID do item (na sua loja).version– O número da versão atual.file– O arquivo principal do plugin. Não necessário para temas.type–pluginoutheme. Não necessário para plugins.weekly_check– Opcional: se deve fazer uma solicitação semanal para confirmar o status da licença. O padrão é true.
Uma vez que seu tema for ativado, seus clientes poderão adicionar sua chave de licença e optar por permitir que sua loja adicione suas versões de PHP e WordPress aos dados de ativação:

Notas importantes
- Se você tiver problemas com a verificação SSL ao solicitar atualizações, pode usar o filtro
edd_sl_api_request_verify_sslpara desativar o sinalizador de Verificação SSL. - Se você quiser impedir que seus usuários ativem atualizações automáticas para seu tema ou plugin, você pode adicionar um trecho ao seu código distribuído para desativar as atualizações 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;
}
