Anmelden
Loslegen

Easy Digital Downloads Dokumentation

Dokumentation, Referenzmaterialien und Tutorials für Easy Digital Downloads 

Software Licensing – Mindestanforderungen

Software Licensing 3.8 führte die Möglichkeit ein, minimale Plattformanforderungen für Produkte festzulegen. Wenn ein Kunde diese Anforderungen nicht erfüllt, erhält er keine automatischen Updates über die API.

API-Voraussetzungen

Damit diese Funktion ordnungsgemäß funktioniert, müssen die Plattformversionen des Kunden zusammen mit der API-Anfrage, die auf ein Update prüft, gesendet werden.

Wenn Sie unseren Plugin-Updater verwenden, bedeutet dies, dass Ihr Produkt die Version 1.9 oder höher der Klasse EDD_SL_Plugin_Updater bündeln muss.

Wenn Sie unseren Theme-Updater verwenden, muss Ihr Produkt die Version 1.2 oder höher bündeln.

Wenn Sie eine benutzerdefinierte Integration erstellt haben, müssen Sie sicherstellen, dass „php_version“ und „wp_version“ in Ihrer API-Anfrage enthalten sind. Weitere Details finden Sie in unserer API-Dokumentation.

Wenn die Website eines Kunden die Plattformversion(en) nicht in die API-Anfrage aufnimmt, werden diese Anforderungen nicht geprüft und der Benutzer erhält möglicherweise trotzdem das Update.

Anforderungen für ein Produkt konfigurieren

Um Anforderungen für ein Produkt zu konfigurieren, bearbeiten Sie das Produkt unter Downloads > Bearbeiten. Suchen Sie in der rechten Seitenleiste nach einem Metabox namens „Download-Anforderungen“. Es sieht so aus:

Geben Sie einfach Ihre minimal erforderlichen Versionen ein und speichern Sie. Alle leeren Versionen werden nicht geprüft oder sind nicht erforderlich.

Benutzerdefinierte Anforderungen hinzufügen

Standardmäßig unterstützt Software Licensing PHP- und WordPress-Versionen, obwohl Ihre eigenen Abhängigkeiten mit etwas benutzerdefiniertem Code hinzugefügt werden können. Zwei Schritte sind erforderlich:

1. Fügen Sie Ihre Abhängigkeit zum Metabox hinzu

Das Hinzufügen einer neuen Abhängigkeit erfolgt mit einem einfachen Filter wie diesem, der zu Ihrer eigenen Website hinzugefügt werden muss:

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

Ersetzen Sie your-platform-id durch eine eindeutige, slug-freundliche Version Ihres Abhängigkeitsnamens und ersetzen Sie Your Platform Display Name durch die anzeigenfreundliche Version. Hier ist ein Beispiel für das Hinzufügen von Easy Digital Downloads als Anforderung:

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

	return $platforms;
} );

Nach dem Hinzufügen erscheint Ihre Plattform im Metabox:

2. Fügen Sie die Abhängigkeitsversion in Ihre API-Anfrage ein

Wenn Sie über die API auf ein neues Update prüfen (innerhalb Ihres Produkts), müssen Sie die aktuelle Versionsnummer der Abhängigkeit in die API-Anfrage senden. Dazu müssen Sie lediglich ein neues Argument anhängen: {your platform ID}_version.

Eine Versionsprüfungsanfrage sieht normalerweise so aus:

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

Aber mit unserem neuen Argument würde es so aussehen:

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

Beachten Sie die Hinzufügung von &easy-digital-downloads_version=1.0 am Ende.

Wenn Sie einen benutzerdefinierten Updater verwenden, können Sie das neue Argument direkt zu den API-Parametern hinzufügen, die mit der Anfrage gesendet werden:

$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
);

Wenn Sie unsere Plugin-Updater-Klasse (Version 1.9 oder höher) verwenden, können Sie dieses Argument mithilfe eines Filters zur API-Anfrage hinzufügen. Dieser Filter muss Teil Ihres Plugins sein, da er auf den Websites Ihrer Kunden ausgeführt wird:

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 );

Stellen Sie sicher, dass Sie easy-digital-downloads durch die eindeutige ID ersetzen, die Sie für Ihre Abhängigkeit gewählt haben, und defined( 'EDD_VERSION' ) ? EDD_VERSION : '' durch die aktuelle Versionsnummer. Dieser Wert muss vom Kundenserver dynamisch abgerufen werden können.

Was this article helpful?

Verkaufen Sie noch heute!

Schließen Sie sich über 50.000 klugen Shop-Besitzern an und nutzen Sie die einfachste Methode, um digitale Produkte mit WordPress zu verkaufen.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]