La classe EDD_Download est utilisée pour obtenir des données sur un téléchargement spécifique, créer de nouveaux téléchargements et modifier des téléchargements existants. Les propriétés publiques qui peuvent être gérées avec cette classe sont :
- $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;
Note : Les propriétés ci-dessus sont héritées et identiques aux propriétés de WP_Post.
Création d'un téléchargement
Pour créer un nouveau téléchargement, vous instanciez d'abord la classe, puis vous exécutez la méthode create().
$new_download = new EDD_Download; $new_download->create();
Cela créera un seul téléchargement avec des paramètres par défaut, qui sont un brouillon avec le titre « Nouveau produit de téléchargement ».
La méthode create utilise
wp_insert_post(), vous pouvez donc passer tous les arguments à create() que wp_insert_post() peut accepter. Quelque chose comme ceci fonctionnerait bien :
$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 );
Chargement d'un téléchargement existant
Ceci est accompli simplement en passant un ID de téléchargement au nom de la classe lors de l'instanciation.
Exemple :
$my_download = new EDD_Download( 1492 );
Méthodes de récupération de données
EDD_Download dispose d'une variété de méthodes pour obtenir des données sur le téléchargement, manipuler les métadonnées et tester diverses choses.
get_ID()
Cette méthode renvoie simplement l'ID du téléchargement.
Exemple :
$download_id = $my_download->get_ID();
Retourne : un entier, comme 1492.
get_price()
Cette méthode renvoie le prix du téléchargement au format double, sans symbole de devise.
$download_price = $my_download->get_price();
Retourne : un double, comme 9.99. Des calculs peuvent être effectués sur ce résultat.
get_prices()
Cette méthode renvoie un tableau des prix variables du téléchargement au format double, sans symbole de devise.
$variable_prices = $my_download->get_prices();
Retourne un tableau de prix comme celui-ci :
Array
(
[1] => Array
(
[index] => 1
[name] => Regular
[amount] => 9.99
)
[2] => Array
(
[index] =>
[name] => Unleaded
[amount] => 19.99
)
is_single_price_mode()
Détermine si le mode prix unique est activé ou désactivé. Le mode prix unique fait référence à la possibilité d'acheter plusieurs options de prix simultanément. Dans l'interface utilisateur d'Easy Digital Downloads, la case à cocher correspondante se trouve sous Tarification variable.

$is_single_price_mode = $my_download->is_single_price_mode();
Retourne : vrai ou faux
has_variable_prices()
Détermine si la tarification variable est activée ou désactivée sur un téléchargement spécifique.
$download_price = $my_download->has_variable_prices();
Retourne : vrai ou faux
get_files()
Cette méthode renvoie un tableau des fichiers joints au téléchargement
$my_files = $my_download->get_files();
Retourne un tableau de prix comme celui-ci :
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()
Cette méthode obtient le nombre de fois où ce fichier peut être téléchargé.
Exemple :
$download_limit = $my_download->get_file_download_limit();
Retourne : un entier, comme 100.
get_file_price_condition()
Lorsqu'un produit a une tarification variable, un ou plusieurs fichiers peuvent être disponibles à l'achat. Sous l'attribution des prix, les fichiers peuvent être associés à toutes les options de prix ou seulement à certaines. Dans l'exemple ci-dessous, le fichier est associé aux pistes 1, 2, 3 et à l'album complet.

Exemple :
$price_condition = $my_download->get_file_price_condition();
Retourne : un entier, comme 2.
get_type()
Retourne la valeur indiquant si le téléchargement est un Bundle ou par défaut.
Exemple :
$download_type = $my_download->get_type();
Retourne : 'default' ou 'bundle'
is_bundled_download()
Détermine s'il s'agit d'un téléchargement groupé.
Exemple :
$is_bundled_download = $my_download->is_bundled_download();
Retourne : vrai ou faux
get_bundled_downloads()
Obtient les identifiants de téléchargement des articles d'un téléchargement groupé.
Exemple :
$bundled_downloads = $my_download->get_bundled_downloads();
Retourne : Un tableau d'identifiants de téléchargement comme celui-ci :
Array
(
[0] => 68
[1] => 114
)
Note : get_bundled_downloads() retournera un tableau vide si le produit n'est pas un groupe, alors regardez en faisant quelque chose comme ceci :
if ( $my_download->is_bundled_download() ) {
$bundled_downloads = $my_download->get_bundled_downloads();
}
get_notes()
Retourne les notes d'un téléchargement sous forme de chaîne de caractères.
Exemple :
$download_notes = $my_download->get_notes();
Retourne : Les notes sous forme de chaîne de caractères, et conserve les sauts de ligne.
get_sku()
Retourne le SKU d'un téléchargement sous forme de chaîne de caractères.
Exemple :
$download_sku = $my_download->get_sku();
Retourne : Le SKU sous forme de chaîne de caractères
get_button_behavior()
Retourne ce qui se passe lorsque quelqu'un clique sur le bouton d'achat
Exemple :
$download_button_behavior = $my_download->get_button_behavior();
Retourne : soit 'direct' pour Acheter maintenant, soit 'add_to_cart' pour Ajouter au panier.
get_sales()
Retourne le nombre de ventes terminées pour cet article
Exemple :
$download_sales = $my_download->get_sales();
Retourne : un entier comme 42
increase_sales()
Incrémente le nombre de ventes de 1. Ne peut pas prendre d'entrée, ne peut pas augmenter de plus de 1.
Exemple :
$increase_sales = $my_download->increase_sales();
Retourne : soit false en cas d'échec, soit un entier du nouveau nombre de ventes.
decrease_sales()
Décrémente le nombre de ventes de 1. Ne peut pas prendre d'entrée, ne peut pas augmenter de plus de 1.
Exemple :
$decrease_sales = $my_download->decrease_sales();
Retourne : soit false en cas d'échec, soit un entier du nouveau nombre de ventes.
get_earnings()
Retourne le gain total pour ce téléchargement.
Exemple :
$download_earnings = $my_download->get_earnings();
Retourne : un nombre à virgule flottante comme 152.69
increase_earnings( mixed $amount = 0 )
Augmente les gains totaux d'un téléchargement du montant saisi.
Exemple :
$increase_earnings = $my_download->increase_earnings();
Retourne : soit false en cas d'échec, soit un nombre à virgule flottante du nouveau montant, comme 247.39
decrease_earnings( mixed $amount = 0 )
Diminue les gains totaux d'un téléchargement du montant saisi.
Exemple :
$decrease_earnings = $my_download->decrease_earnings();
Retourne : soit false en cas d'échec, soit un flottant du nouveau montant, comme 147.39
is_free( mixed $price_id = false )
Vérifie si le téléchargement est gratuit, OU si l'identifiant de prix donné est gratuit.
Exemple :
$is_free = $my_download->is_free();
Retourne : vrai ou faux
