De EDD_Download klasse wordt gebruikt voor het verkrijgen van gegevens over een specifieke Download, het maken van nieuwe Downloads en het bewerken van bestaande Downloads. De publieke eigenschappen die met deze klasse beheerd kunnen worden zijn:
- $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;
Let op: De bovenstaande eigenschappen worden overgenomen van en zijn identiek aan de eigenschappen in WP_Post.
Een Download aanmaken
Om een nieuwe download aan te maken, instantiëer je eerst de klasse en voer je vervolgens de create() methode uit.
$new_download = new EDD_Download; $new_download->create();
Dit maakt een enkele Download aan met standaardinstellingen, wat een Concept is met de titel 'Nieuw Download Product'.
De create methode gebruikt
wp_insert_post(), dus je kunt elk argument aan create() doorgeven dat wp_insert_post() kan accepteren. Iets als dit zou prima werken:
$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 van een bestaande download
Dit wordt eenvoudig bereikt door een Download ID mee te geven aan de klassenaam tijdens het instantiëren.
Voorbeeld:
$my_download = new EDD_Download( 1492 );
Methoden voor het ophalen van gegevens
EDD_Download heeft een verscheidenheid aan methoden voor het verkrijgen van gegevens over de Download, het manipuleren van metagegevens en het testen op verschillende zaken.
get_ID()
Deze methode retourneert eenvoudig de ID van de Download.
Voorbeeld:
$download_id = $my_download->get_ID();
Retourneert: een geheel getal, zoals 1492.
get_price()
Deze methode retourneert de prijs van de Download in dubbel formaat, zonder valutateken.
$download_price = $my_download->get_price();
Retourneert: een dubbel getal, zoals 9.99. Er kunnen wiskundige bewerkingen op dit resultaat worden uitgevoerd.
get_prices()
Deze methode retourneert een array van de variabele prijzen van de Download in dubbel formaat, zonder valutateken.
$variable_prices = $my_download->get_prices();
Retourneert een array van prijzen zoals deze:
Array
(
[1] => Array
(
[index] => 1
[name] => Regular
[amount] => 9.99
)
[2] => Array
(
[index] =>
[name] => Unleaded
[amount] => 19.99
)
is_single_price_mode()
Bepaalt of de modus voor één prijs is ingeschakeld of uitgeschakeld. De modus voor één prijs verwijst naar de vraag of meerdere prijsopties tegelijkertijd kunnen worden gekocht. In de gebruikersinterface van Easy Digital Downloads staat het selectievakje hiervoor onder Variabele prijzen.

$is_single_price_mode = $my_download->is_single_price_mode();
Retourneert: true of false
has_variable_prices()
Bepaal of Variabele prijzen zijn ingeschakeld of uitgeschakeld voor een specifieke Download.
$download_price = $my_download->has_variable_prices();
Retourneert: true of false
get_files()
Deze methode retourneert een array van de bestanden die aan de Download zijn gekoppeld
$my_files = $my_download->get_files();
Retourneert een array van prijzen zoals deze:
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()
Deze methode haalt het aantal keren op dat dit bestand mag worden gedownload.
Voorbeeld:
$download_limit = $my_download->get_file_download_limit();
Retourneert: een geheel getal, zoals 100.
get_file_price_condition()
Wanneer een product variabele prijzen heeft, kunnen een of meer bestanden te koop zijn. Onder de Prijs toewijzing kunnen bestanden worden gekoppeld aan alle prijsopties of slechts aan specifieke opties. In het onderstaande voorbeeld is het bestand gekoppeld aan Tracks 1, 2, 3 en Volledig album.

Voorbeeld:
$price_condition = $my_download->get_file_price_condition();
Retourneert: een geheel getal, zoals 2.
get_type()
Retourneert een waarde die aangeeft of de Download een Bundel of Standaard is.
Voorbeeld:
$download_type = $my_download->get_type();
Retourneert: 'default' of 'bundle'
is_bundled_download()
Bepaal of dit een gebundelde download is.
Voorbeeld:
$is_bundled_download = $my_download->is_bundled_download();
Retourneert: true of false
get_bundled_downloads()
Haalt de Download-ID's op van de items in een gebundelde download.
Voorbeeld:
$bundled_downloads = $my_download->get_bundled_downloads();
Retourneert: Een array van Download-ID's zoals deze:
Array
(
[0] => 68
[1] => 114
)
Opmerking: get_bundled_downloads() retourneert een lege array als het product geen bundel is, dus kijk naar iets als dit:
if ( $my_download->is_bundled_download() ) {
$bundled_downloads = $my_download->get_bundled_downloads();
}
get_notes()
Retourneert de notities voor een download als een string.
Voorbeeld:
$download_notes = $my_download->get_notes();
Retourneert: De notities als een string, en behoudt regeleinden.
get_sku()
Retourneert de SKU voor een download als een string.
Voorbeeld:
$download_sku = $my_download->get_sku();
Retourneert: De SKU als een string
get_button_behavior()
Retourneert wat er gebeurt wanneer iemand op de koopknop klikt
Voorbeeld:
$download_button_behavior = $my_download->get_button_behavior();
Retourneert: 'direct' voor Nu Kopen of 'add_to_cart' voor Toevoegen aan winkelwagen.
get_sales()
Retourneert het aantal voltooide verkopen voor dit item
Voorbeeld:
$download_sales = $my_download->get_sales();
Retourneert: een geheel getal zoals 42
increase_sales()
Verhoogt het aantal verkopen met 1. Kan geen invoer nemen, kan niet met meer dan 1 verhogen.
Voorbeeld:
$increase_sales = $my_download->increase_sales();
Retourneert: false bij falen of een geheel getal van het nieuwe verkoopaantal.
decrease_sales()
Verlaagt het aantal verkopen met 1. Kan geen invoer nemen, kan niet met meer dan 1 verhogen.
Voorbeeld:
$decrease_sales = $my_download->decrease_sales();
Retourneert: false bij falen of een geheel getal van het nieuwe verkoopaantal.
get_earnings()
Retourneert de totale inkomsten voor deze download.
Voorbeeld:
$download_earnings = $my_download->get_earnings();
Retourneert: een float zoals 152.69
increase_earnings( mixed $amount = 0 )
Verhoogt de totale inkomsten voor een download met het ingevoerde bedrag.
Voorbeeld:
$increase_earnings = $my_download->increase_earnings();
Retourneert: false bij falen of een float van het nieuwe bedrag, zoals 247.39
decrease_earnings( mixed $amount = 0 )
Vermindert de totale inkomsten voor een Download met het invoerbedrag.
Voorbeeld:
$decrease_earnings = $my_download->decrease_earnings();
Retourneert: false bij een fout of een float van het nieuwe bedrag, zoals 147.39
is_free( mixed $price_id = false )
Controleert of de download gratis is, OF als de opgegeven prijs-ID gratis is.
Voorbeeld:
$is_free = $my_download->is_free();
Retourneert: true of false
