Avec l'extension Licences de logiciels pour Easy Digital Downloads, vous pouvez configurer des mises à jour automatiques pour les thèmes. Cela ne signifie *pas* que le thème de votre client se mettra à jour lui-même, mais plutôt que votre client pourra mettre à jour son thème en utilisant les outils de mise à jour WordPress traditionnels, *comme si* le thème était hébergé sur WordPress.org.
Il y a deux composants clés dans l'exemple :
- Le fichier
composer.jsonqui configurera tout ce dont vous avez besoin pour commencer à travailler avec l'API de licences de logiciels dans votre plugin WordPress. - Le fichier
functions.php, qui inclut le code pour se connecter au SDK de licences de logiciels EDD, une solution prête à l'emploi pour les développeurs de plugins et de thèmes WordPress afin d'intégrer rapidement les licences de logiciels Easy Digital Downloads dans leurs produits sans configuration complexe ni interfaces d'administration personnalisées.
Étape 1 : Installer le package composer
Mettez à jour (ou créez) le fichier composer.json de votre plugin dans le répertoire principal de votre plugin. Exécutez composer install pour ajouter le SDK de licences de logiciels à votre plugin (notez que ce lien inclut également les instructions et exemples les plus récents).
Étape 2 : Mettre à jour votre thème pour utiliser le SDK
Cet extrait fournit un point de départ pour le code requis dans votre thème pour l'intégration avec le 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';
}
}
Modifiez les informations pour qu'elles correspondent à votre boutique :
id– Slug du plugin/thème.url– L'URL de la boutique.item_id– L'ID de l'article (sur votre boutique).version– Le numéro de version actuel.file– Le fichier principal du plugin. Non nécessaire pour les thèmes.type–pluginoutheme. Non nécessaire pour les plugins.weekly_check– Facultatif : s'il faut faire une requête hebdomadaire pour confirmer le statut de la licence. La valeur par défaut est true.
Une fois votre thème activé, vos clients peuvent ajouter leur clé de licence et choisir d'autoriser votre boutique à ajouter leurs versions PHP et WordPress à leurs données d'activation :

Notes importantes
- Si vous rencontrez des problèmes avec la vérification SSL lors de la demande de mises à jour, vous pouvez utiliser le filtre
edd_sl_api_request_verify_sslpour désactiver le drapeau de vérification SSL. - Si vous souhaitez empêcher vos utilisateurs d'activer les mises à jour automatiques pour votre thème ou plugin, vous pouvez ajouter un extrait de code à votre code distribué pour désactiver les mises à jour automatiques :
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;
}
