Die Klasse EDD_Download wird verwendet, um Daten über einen bestimmten Download zu erhalten, neue Downloads zu erstellen und bestehende Downloads zu bearbeiten. Die öffentlichen Eigenschaften, die mit dieser Klasse verwaltet werden können, sind:
- $ID = 0;
- $post_author = 0;
- $post_date = ‘0000-00-00 00:00:00’;
- $post_date_gmt = ‘0000-00-00 00:00:00’;
- $post_content = ”;
- $post_title = ”;
- $post_excerpt = ”;
- $post_status = ‘publish’;
- $comment_status = ‘open’;
- $ping_status = ‘open’;
- $post_password = ”;
- $post_name = ”;
- $to_ping = ”;
- $pinged = ”;
- $post_modified = ‘0000-00-00 00:00:00’;
- $post_modified_gmt = ‘0000-00-00 00:00:00’;
- $post_content_filtered = ”;
- $post_parent = 0;
- $guid = ”;
- $menu_order = 0;
- $post_mime_type = ”;
- $comment_count = 0;
- $filter;
Hinweis: Die obigen Eigenschaften werden von den Eigenschaften in WP_Post geerbt und sind identisch mit diesen.
Erstellen eines Downloads
Um einen neuen Download zu erstellen, instanziieren Sie zuerst die Klasse und führen dann die create()-Methode aus.
$new_download = new EDD_Download; $new_download->create();
Dadurch wird ein einzelner Download mit Standardeinstellungen erstellt, nämlich ein Entwurf mit dem Titel „Neues Download-Produkt“.
Die create-Methode verwendet
wp_insert_post(), sodass Sie beliebige Argumente an create() übergeben können, die wp_insert_post() akzeptieren kann. Etwas wie das hier würde gut funktionieren:
$new_download = new EDD_Download; $download_args = array( 'post_title' => 'My eBook', 'post_content' => 'This is my eBook. Nice long description.', 'post_status' => 'publish', ) $new_download->create( $download_args );
Laden eines vorhandenen Downloads
Dies wird einfach dadurch erreicht, dass die Download-ID bei der Instanziierung an den Klassennamen übergeben wird.
Beispiel:
$my_download = new EDD_Download( 1492 );
Datenabrufmethoden
EDD_Download verfügt über eine Vielzahl von Methoden zum Abrufen von Daten über den Download, zum Bearbeiten von Metadaten und zum Testen verschiedener Dinge.
get_ID()
Diese Methode gibt einfach die ID des Downloads zurück.
Beispiel:
$download_id = $my_download->get_ID();
Gibt zurück: eine Ganzzahl, wie 1492.
get_price()
Diese Methode gibt den Preis des Downloads im Double-Format zurück, ohne Währungssymbol.
$download_price = $my_download->get_price();
Gibt zurück: eine Double-Zahl, wie 9.99. Mit diesem Ergebnis können mathematische Operationen durchgeführt werden.
get_prices()
Diese Methode gibt ein Array der variablen Preise des Downloads im Double-Format zurück, ohne Währungssymbol.
$variable_prices = $my_download->get_prices();
Gibt ein Array von Preisen wie dieses zurück:
Array
(
[1] => Array
(
[index] => 1
[name] => Regular
[amount] => 9.99
)
[2] => Array
(
[index] =>
[name] => Unleaded
[amount] => 19.99
)
is_single_price_mode()
Bestimmt, ob der Einzelpreis-Modus aktiviert oder deaktiviert ist. Der Einzelpreis-Modus bezieht sich darauf, ob mehrere Preisoptionen gleichzeitig gekauft werden können. In der Benutzeroberfläche von Easy Digital Downloads befindet sich das Kontrollkästchen dafür unter Variable Pricing.

$is_single_price_mode = $my_download->is_single_price_mode();
Gibt zurück: true oder false
has_variable_prices()
Bestimmt, ob Variable Pricing für einen bestimmten Download aktiviert oder deaktiviert ist.
$download_price = $my_download->has_variable_prices();
Gibt zurück: true oder false
get_files()
Diese Methode gibt ein Array der an den Download angehängten Dateien zurück
$my_files = $my_download->get_files();
Gibt ein Array von Preisen wie dieses zurück:
Array
(
[0] => Array
(
[attachment_id] => 10
[name] => Be Kind To Your Web Footed Friends
[file] => https://example.com/wp-content/uploads/edd/2015/05/be_kind_to_your_web_footed_friend.mp3
[condition] => all
)
)
get_file_download_limit()
Diese Methode ruft die Anzahl der Male ab, wie diese Datei heruntergeladen werden kann.
Beispiel:
$download_limit = $my_download->get_file_download_limit();
Gibt zurück: eine Ganzzahl, wie 100.
get_file_price_condition()
Wenn ein Produkt variable Preise hat, können eine oder mehrere Dateien zum Kauf angeboten werden. Unter der Preiszuweisung können Dateien allen Preisoptionen oder nur bestimmten zugeordnet werden. Im folgenden Beispiel ist die Datei mit Tracks 1, 2, 3 und Full Album verknüpft.

Beispiel:
$price_condition = $my_download->get_file_price_condition();
Gibt zurück: eine Ganzzahl, wie 2.
get_type()
Gibt einen Wert zurück, der angibt, ob der Download ein Bundle oder Standard ist.
Beispiel:
$download_type = $my_download->get_type();
Gibt zurück: entweder 'default' oder 'bundle'
is_bundled_download()
Ermittelt, ob es sich um einen Bundle-Download handelt.
Beispiel:
$is_bundled_download = $my_download->is_bundled_download();
Gibt zurück: true oder false
get_bundled_downloads()
Ruft die Download-IDs der Elemente in einem Bundle-Download ab.
Beispiel:
$bundled_downloads = $my_download->get_bundled_downloads();
Gibt zurück: Ein Array von Download-IDs wie folgt:
Array
(
[0] => 68
[1] => 114
)
Hinweis: get_bundled_downloads() gibt ein leeres Array zurück, wenn das Produkt kein Bundle ist. Gehen Sie also wie folgt vor:
if ( $my_download->is_bundled_download() ) {
$bundled_downloads = $my_download->get_bundled_downloads();
}
get_notes()
Gibt die Notizen für einen Download als Zeichenkette zurück.
Beispiel:
$download_notes = $my_download->get_notes();
Gibt zurück: Die Notizen als Zeichenkette, wobei Zeilenumbrüche beibehalten werden.
get_sku()
Gibt die SKU für einen Download als Zeichenkette zurück.
Beispiel:
$download_sku = $my_download->get_sku();
Gibt zurück: Die SKU als Zeichenkette
get_button_behavior()
Gibt zurück, was passiert, wenn jemand auf die Schaltfläche "Kaufen" klickt
Beispiel:
$download_button_behavior = $my_download->get_button_behavior();
Gibt zurück: entweder "direct" für "Jetzt kaufen" oder "add_to_cart" für "In den Warenkorb".
get_sales()
Gibt die Anzahl der abgeschlossenen Verkäufe für diesen Artikel zurück
Beispiel:
$download_sales = $my_download->get_sales();
Gibt zurück: eine Ganzzahl wie 42
increase_sales()
Erhöht die Anzahl der Verkäufe um 1. Kann keine Eingabe entgegennehmen, kann nicht um mehr als 1 erhöht werden.
Beispiel:
$increase_sales = $my_download->increase_sales();
Gibt zurück: entweder false bei einem Fehler oder eine Ganzzahl des neuen Verkaufzählers.
decrease_sales()
Verringert die Anzahl der Verkäufe um 1. Kann keine Eingabe entgegennehmen, kann nicht um mehr als 1 erhöht werden.
Beispiel:
$decrease_sales = $my_download->decrease_sales();
Gibt zurück: entweder false bei einem Fehler oder eine Ganzzahl des neuen Verkaufzählers.
get_earnings()
Gibt den Gesamtverdienst für diesen Download zurück.
Beispiel:
$download_earnings = $my_download->get_earnings();
Gibt zurück: eine Gleitkommazahl wie 152,69
increase_earnings( mixed $amount = 0 )
Erhöht die Gesamteinnahmen für einen Download um den eingegebenen Betrag.
Beispiel:
$increase_earnings = $my_download->increase_earnings();
Gibt zurück: entweder false bei einem Fehler oder eine Gleitkommazahl des neuen Betrags, wie 247,39
decrease_earnings( mixed $amount = 0 )
Verringert die Gesamteinnahmen für einen Download um den eingegebenen Betrag.
Beispiel:
$decrease_earnings = $my_download->decrease_earnings();
Gibt zurück: entweder false bei einem Fehler oder einen Float des neuen Betrags, wie 147.39
is_free( mixed $price_id = false )
Prüft, ob der Download kostenlos ist ODER ob die angegebene Preis-ID kostenlos ist.
Beispiel:
$is_free = $my_download->is_free();
Gibt zurück: true oder false
