Zaloguj się
Rozpocznij

Dokumentacja Easy Digital Downloads

Dokumentacja, materiały referencyjne i samouczki dla Easy Digital Downloads 

Licencjonowanie oprogramowania – Minimalne wymagania

Licencjonowanie oprogramowania w wersji 3.8 wprowadziło możliwość ustawiania minimalnych wymagań platformy dla produktów. Jeśli klient nie spełnia tych wymagań, nie otrzyma automatycznych aktualizacji za pośrednictwem API.

Wymagania wstępne API

Aby ta funkcja działała poprawnie, wersje platformy klienta muszą być wysyłane wraz z żądaniem API sprawdzającym dostępność aktualizacji.

Jeśli używasz aktualizatora wtyczek, oznacza to, że Twój produkt musi zawierać wersję 1.9 lub nowszą klasy EDD_SL_Plugin_Updater.

Jeśli używasz aktualizatora motywów, Twój produkt musi zawierać wersję 1.2 lub nowszą.

Jeśli zbudowałeś niestandardową integrację, musisz upewnić się, że w żądaniu API uwzględniono „php_version” i „wp_version”. Więcej szczegółów znajdziesz w naszej dokumentacji API.

Jeśli strona klienta nie zawiera wersji platformy w żądaniu API, wymagania te nie zostaną sprawdzone i użytkownik może nadal otrzymać aktualizację.

Konfiguracja wymagań dla produktu

Aby skonfigurować wymagania dla produktu, edytuj produkt poprzez Pobieranie > Edytuj. W prawym bocznym pasku znajdź pole zwane „Wymagania dotyczące pobierania”. Wygląda ono tak:

Po prostu wprowadź swoje minimalne wymagane wersje i zapisz. Wszelkie pozostawione puste pola nie będą sprawdzane ani wymagane.

Dodawanie niestandardowych wymagań

Domyślnie Licencjonowanie oprogramowania obsługuje wersje PHP i WordPress, chociaż własne zależności można dodać za pomocą niestandardowego kodu. Wymagane są dwa kroki:

1. Dodaj swoją zależność do pola

Dodawanie nowej zależności odbywa się za pomocą prostego filtra, który należy dodać do własnej witryny:

add_filter( 'edd_sl_platforms', function( $platforms ) {
	$platforms['your-platform-id'] = 'Your Platform Display Name';
	
	return $platforms;
} );

Zastąp your-platform-id unikalną, przyjazną dla identyfikatora wersją nazwy zależności, a Your Platform Display Name zastąp przyjazną dla wyświetlania wersją. Oto przykład dodania Easy Digital Downloads jako wymagania:

add_filter( 'edd_sl_platforms', function( $platforms ) {
	$platforms['easy-digital-downloads'] = 'Easy Digital Downloads';

	return $platforms;
} );

Po dodaniu Twoja platforma pojawi się w polu:

2. Uwzględnij wersję zależności w swoim żądaniu API

Podczas sprawdzania dostępności nowej aktualizacji za pośrednictwem API (w ramach produktu) musisz wysłać aktualny numer wersji zależności w żądaniu API. Aby to zrobić, wystarczy dodać nowy argument: {your platform ID}_version.

Żądanie sprawdzenia wersji zazwyczaj wygląda tak:

https://YOURSITE.com/?edd_action=get_version&item_id=8&license=cc22c1ec86304b36883440e2e84cddff&url=https://licensedsite.com

Ale z naszym nowym argumentem wyglądałoby tak:

https://YOURSITE.com/?edd_action=get_version&item_id=8&license=cc22c1ec86304b36883440e2e84cddff&url=https://licensedsite.com&easy-digital-downloads_version=1.0

Zwróć uwagę na dodanie &easy-digital-downloads_version=1.0 na końcu.

Jeśli używasz niestandardowego aktualizatora, możesz dodać nowy argument bezpośrednio do parametrów API wysyłanych z żądaniem:

$api_params = array(
	'edd_action'                     => 'get_version',
	'license'                        => ! empty( $data['license'] ) ? $data['license'] : '',
	'item_name'                      => isset( $data['item_name'] ) ? $data['item_name'] : false,
	'item_id'                        => isset( $data['item_id'] ) ? $data['item_id'] : false,
	'version'                        => $this->version,
	'slug'                           => $data['slug'],
	'author'                         => $data['author'],
	'url'                            => home_url(),
	'beta'                           => ! empty( $data['beta'] ),
	'php_version'                    => phpversion(),
	'wp_version'                     => get_bloginfo( 'version' ),
	'easy-digital-downloads_version' => defined( 'EDD_VERSION' ) ? EDD_VERSION : '', // current version number
);

Jeśli używasz naszej klasy aktualizatora wtyczek (wersja 1.9 lub nowsza), możesz dodać ten argument do żądania API za pomocą filtra. Ten filtr musi być częścią Twojej wtyczki, ponieważ działa na stronach Twoich klientów:

add_filter( 'edd_sl_plugin_updater_api_params', function( $api_params, $api_data, $plugin_file ) {
	/*
	 * Make sure $plugin_file matches your plugin's file path. You should have a constant for this
	 * or can use __FILE__ if this code goes in your plugin's main file.
	 */
	if ( __FILE__ === $plugin_file ) {
		// Dynamically retrieve the current version number.
		$api_params['easy-digital-downloads_version'] = defined( 'EDD_VERSION' ) ? EDD_VERSION : '';
	}

	return $api_params;
}, 10, 3 );

Pamiętaj, aby zastąpić easy-digital-downloads unikalnym identyfikatorem, który wybrałeś dla swojej zależności, oraz defined( 'EDD_VERSION' ) ? EDD_VERSION : '' aktualnym numerem wersji. Ta wartość musi być możliwa do dynamicznego pobrania przez witrynę klienta.

Czy ten artykuł był pomocny?

Zacznij sprzedawać już dziś!

Dołącz do ponad 50 000 sprytnych właścicieli sklepów i zacznij korzystać z najłatwiejszego sposobu sprzedaży produktów cyfrowych za pomocą WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]