Con l'estensione Software Licensing per Easy Digital Downloads puoi configurare aggiornamenti automatici per i temi. Questo non significa che il tema del tuo cliente si aggiornerà da solo, ma piuttosto che il tuo cliente potrà aggiornare il proprio tema utilizzando gli strumenti di aggiornamento tradizionali di WordPress, *come se* il tema fosse ospitato su WordPress.org.
Ci sono due componenti chiave nell'esempio:
- Il file
composer.jsonche imposterà tutto ciò di cui hai bisogno per iniziare a lavorare con l'API di Software Licensing nel tuo plugin WordPress. - Il file
functions.php, che include il codice per agganciarsi all'SDK di EDD Software Licensing, una soluzione drop-in per sviluppatori di plugin e temi WordPress per integrare rapidamente Easy Digital Downloads Software Licensing nei loro prodotti senza complesse configurazioni o interfacce di amministrazione personalizzate.
Passaggio 1: Installa il pacchetto composer
Aggiorna (o crea) il file composer.json per il tuo plugin nella directory principale del tuo plugin. Esegui composer install per aggiungere l'Software Licensing SDK al tuo plugin (nota che questo link include anche le istruzioni ed esempi più recenti).
Passaggio 2: Aggiorna il tuo tema per utilizzare l'SDK
Questo snippet fornisce un punto di partenza per il codice richiesto nel tuo tema per integrarsi con l'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';
}
}
Modifica le informazioni per farle corrispondere al tuo negozio:
id– Slug del plugin/tema.url– L'URL del negozio.item_id– L'ID dell'articolo (sul tuo negozio).version– Il numero di versione corrente.file– Il file principale del plugin. Non necessario per i temi.type–pluginotheme. Non necessario per i plugin.weekly_check– Opzionale: se effettuare una richiesta settimanale per confermare lo stato della licenza. Il valore predefinito è true.
Una volta attivato il tuo tema, i tuoi clienti potranno aggiungere la loro chiave di licenza e scegliere di consentire al tuo store di aggiungere le loro versioni PHP e WordPress ai dati di attivazione:

Note importanti
- Se hai problemi con la verifica SSL durante la richiesta di aggiornamenti, puoi utilizzare il filtro
edd_sl_api_request_verify_sslper disabilitare il flag di verifica SSL. - Se desideri impedire ai tuoi utenti di abilitare gli aggiornamenti automatici per il tuo tema o plugin, puoi aggiungere uno snippet al tuo codice distribuito per disabilitare gli aggiornamenti automatici:
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;
}
