Dzięki rozszerzeniu Licencjonowanie oprogramowania dla Easy Digital Downloads możesz skonfigurować automatyczne aktualizacje motywów. Nie oznacza to, że motyw klienta zaktualizuje się sam, ale raczej, że klient może zaktualizować swój motyw za pomocą tradycyjnych narzędzi aktualizacji WordPress, tak jakby motyw był hostowany na WordPress.org.
Istnieją dwa kluczowe komponenty przykładowe:
- Plik
composer.json, który skonfiguruje wszystko, czego potrzebujesz, aby rozpocząć pracę z API Licencjonowania oprogramowania wtyczki WordPress. - Plik
functions.php, który zawiera kod do podłączenia się do EDD Software Licensing SDK, gotowego rozwiązania dla deweloperów wtyczek i motywów WordPress, umożliwiającego szybką integrację Licencjonowania oprogramowania Easy Digital Downloads z ich produktami bez skomplikowanej konfiguracji lub niestandardowych interfejsów administracyjnych.
Krok 1: Zainstaluj pakiet composer
Zaktualizuj (lub utwórz) plik composer.json dla swojej wtyczki w głównym katalogu wtyczki. Uruchom composer install, aby dodać SDK Licencjonowania oprogramowania do swojej wtyczki (zauważ, że ten link zawiera również najnowsze instrukcje i przykłady).
Krok 2: Zaktualizuj swój motyw, aby używać SDK
Ten fragment kodu stanowi punkt wyjścia dla kodu wymaganego w Twoim motywie do integracji z 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';
}
}
Zmień informacje, aby pasowały do Twojego sklepu:
id– identyfikator wtyczki/motywu.url– adres URL sklepu.item_id– identyfikator produktu (w Twoim sklepie).version– aktualny numer wersji.file– główny plik wtyczki. Nie jest potrzebny dla motywów.type–pluginlubtheme. Nie jest potrzebny dla wtyczek.weekly_check– Opcjonalnie: czy wysyłać cotygodniowe żądanie w celu potwierdzenia statusu licencji. Domyślnie true.
Po aktywacji motywu Twoi klienci mogą dodać swój klucz licencyjny i zezwolić Twojemu sklepowi na dodanie wersji PHP i WordPress do danych aktywacji:

Ważne uwagi
- Jeśli masz problemy z weryfikacją SSL podczas żądania aktualizacji, możesz użyć filtra
edd_sl_api_request_verify_ssl, aby wyłączyć flagę weryfikacji SSL. - Jeśli chcesz uniemożliwić użytkownikom włączanie automatycznych aktualizacji dla Twojego motywu lub wtyczki, możesz dodać fragment kodu do dystrybuowanego kodu, aby wyłączyć automatyczne aktualizacje:
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;
}
