Mit der Software Licensing-Erweiterung für Easy Digital Downloads können Sie automatische Upgrades für Themes einrichten. Das bedeutet nicht, dass das Theme Ihres Kunden sich selbst aktualisiert, sondern dass Ihr Kunde sein Theme über die herkömmlichen WordPress-Update-Tools aktualisieren kann, als ob das Theme auf WordPress.org gehostet würde.
Es gibt zwei Schlüsselkomponenten für das Beispiel:
- Die Datei
composer.json, die alles einrichtet, was Sie benötigen, um mit der Software Licensing API in Ihrem WordPress-Plugin zu arbeiten. - Die Datei
functions.php, die den Code zum Einbinden in das EDD Software Licensing SDK enthält, eine Drop-in-Lösung für Entwickler von WordPress-Plugins und -Themes, um Easy Digital Downloads Software Licensing schnell in ihre Produkte zu integrieren, ohne komplexe Einrichtung oder benutzerdefinierte Admin-Oberflächen.
Schritt 1: Installieren Sie das Composer-Paket
Aktualisieren Sie (oder erstellen Sie) die Datei composer.json für Ihr Plugin im Hauptverzeichnis Ihres Plugins. Führen Sie composer install aus, um das Software Licensing SDK zu Ihrem Plugin hinzuzufügen (beachten Sie, dass dieser Link auch die neuesten Anweisungen und Beispiele enthält).
Schritt 2: Aktualisieren Sie Ihr Theme, um das SDK zu verwenden
Dieser Ausschnitt bietet einen Ausgangspunkt für den Code, der in Ihrem Theme benötigt wird, um sich in das SDK zu integrieren:
/**
* 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';
}
}
Ändern Sie die Informationen, damit sie zu Ihrem Shop passen:
id– Plugin/Theme-Slug.url– Die Shop-URL.item_id– Die Artikel-ID (in Ihrem Shop).version– Die aktuelle Versionsnummer.file– Die Haupt-Plugin-Datei. Nicht für Themes erforderlich.type–pluginodertheme. Nicht für Plugins erforderlich.weekly_check– Optional: Ob eine wöchentliche Anfrage zur Bestätigung des Lizenzstatus erfolgen soll. Standardmäßig auf true gesetzt.
Sobald Ihr Theme aktiviert ist, können Ihre Kunden ihren Lizenzschlüssel hinzufügen und zustimmen, dass Ihr Shop ihre PHP- und WordPress-Versionen zu ihren Aktivierungsdaten hinzufügt:

Wichtige Hinweise
- Wenn Sie Probleme mit der SSL-Überprüfung bei Update-Anfragen haben, können Sie den Filter
edd_sl_api_request_verify_sslverwenden, um die SSL-Überprüfungsflagge zu deaktivieren. - Wenn Sie verhindern möchten, dass Ihre Benutzer automatische Updates für Ihr Theme oder Plugin aktivieren, können Sie einen Codeausschnitt zu Ihrem verteilten Code hinzufügen, um automatische Updates zu deaktivieren:
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;
}
