La clase EDD_Download se utiliza para obtener datos sobre una descarga específica, crear nuevas descargas y editar descargas existentes. Las propiedades públicas que se pueden administrar con esta clase son:
- $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;
Nota: Las propiedades anteriores se heredan y son idénticas a las propiedades de WP_Post.
Crear una descarga
Para crear una nueva descarga, primero instancia la clase y luego ejecuta el método create().
$new_download = new EDD_Download; $new_download->create();
Esto creará una única descarga con la configuración predeterminada, que es un borrador con el título de ‘Nuevo Producto de Descarga’.
El método create utiliza
wp_insert_post(), por lo que puedes pasar cualquier argumento a create() que wp_insert_post() pueda aceptar. Algo como esto funcionaría 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 );
Cargar una descarga existente
Esto se logra simplemente pasando un ID de descarga al nombre de la clase durante la instanciación.
Ejemplo:
$my_download = new EDD_Download( 1492 );
Métodos de obtención de datos
EDD_Download tiene una variedad de métodos para obtener datos sobre la Descarga, manipular metadatos y probar diversas cosas.
get_ID()
Este método simplemente devuelve el ID de la Descarga.
Ejemplo:
$download_id = $my_download->get_ID();
Devuelve: un entero, como 1492.
get_price()
Este método devuelve el precio de la Descarga en formato double, sin símbolo de moneda.
$download_price = $my_download->get_price();
Devuelve: un double, como 9.99. Se pueden realizar operaciones matemáticas con este resultado.
get_prices()
Este método devuelve una matriz de los precios variables de la Descarga en formato double, sin símbolo de moneda.
$variable_prices = $my_download->get_prices();
Devuelve una matriz de precios como esta:
Array
(
[1] => Array
(
[index] => 1
[name] => Regular
[amount] => 9.99
)
[2] => Array
(
[index] =>
[name] => Unleaded
[amount] => 19.99
)
is_single_price_mode()
Determina si el modo de precio único está habilitado o deshabilitado. El modo de precio único se refiere a si se pueden comprar varias opciones de precio simultáneamente. En la interfaz de usuario de Easy Digital Downloads, la casilla de verificación para ello se encuentra en Precios variables.

$is_single_price_mode = $my_download->is_single_price_mode();
Devuelve: true o false
has_variable_prices()
Determina si los precios variables están habilitados o deshabilitados en una Descarga específica.
$download_price = $my_download->has_variable_prices();
Devuelve: true o false
get_files()
Este método devuelve una matriz de los archivos adjuntos a la Descarga
$my_files = $my_download->get_files();
Devuelve una matriz de precios como esta:
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()
Este método obtiene el número de veces que se puede descargar este archivo.
Ejemplo:
$download_limit = $my_download->get_file_download_limit();
Devuelve: un entero, como 100.
get_file_price_condition()
Cuando un producto tiene precios variables, uno o más archivos pueden estar disponibles para su compra. En Asignación de precios, los archivos se pueden asociar con todas las opciones de precio o solo con algunas específicas. En el ejemplo a continuación, el archivo está asociado con las pistas 1, 2, 3 y Álbum completo.

Ejemplo:
$price_condition = $my_download->get_file_price_condition();
Devuelve: un entero, como 2.
get_type()
Devuelve un valor que indica si la Descarga es un Paquete o Predeterminado.
Ejemplo:
$download_type = $my_download->get_type();
Devuelve: 'default' o 'bundle'
is_bundled_download()
Determinar si esta es una descarga agrupada.
Ejemplo:
$is_bundled_download = $my_download->is_bundled_download();
Devuelve: true o false
get_bundled_downloads()
Obtiene los IDs de descarga de los elementos de una descarga agrupada.
Ejemplo:
$bundled_downloads = $my_download->get_bundled_downloads();
Devuelve: Una matriz de IDs de descarga como esta:
Array
(
[0] => 68
[1] => 114
)
Nota: get_bundled_downloads() devolverá una matriz vacía si el producto no es un paquete, así que haz algo como esto:
if ( $my_download->is_bundled_download() ) {
$bundled_downloads = $my_download->get_bundled_downloads();
}
get_notes()
Devuelve las notas de una descarga como una cadena.
Ejemplo:
$download_notes = $my_download->get_notes();
Devuelve: Las notas como una cadena, y mantiene los saltos de línea.
get_sku()
Devuelve el SKU de una descarga como una cadena.
Ejemplo:
$download_sku = $my_download->get_sku();
Devuelve: El SKU como una cadena
get_button_behavior()
Devuelve lo que sucede cuando alguien hace clic en el botón de comprar
Ejemplo:
$download_button_behavior = $my_download->get_button_behavior();
Devuelve: 'directo' para Comprar ahora o 'add_to_cart' para Añadir al carrito.
get_sales()
Devuelve el número de ventas completadas para este artículo
Ejemplo:
$download_sales = $my_download->get_sales();
Devuelve: un entero como 42
increase_sales()
Incrementa el número de ventas en 1. No puede tomar entrada, no puede aumentar en más de 1.
Ejemplo:
$increase_sales = $my_download->increase_sales();
Devuelve: falso en caso de fallo o un entero del nuevo recuento de ventas.
decrease_sales()
Decrementa el número de ventas en 1. No puede tomar entrada, no puede aumentar en más de 1.
Ejemplo:
$decrease_sales = $my_download->decrease_sales();
Devuelve: falso en caso de fallo o un entero del nuevo recuento de ventas.
get_earnings()
Devuelve las ganancias totales para esta descarga.
Ejemplo:
$download_earnings = $my_download->get_earnings();
Devuelve: un flotante como 152.69
increase_earnings( mixed $amount = 0 )
Aumenta las ganancias totales de una descarga por la cantidad de entrada.
Ejemplo:
$increase_earnings = $my_download->increase_earnings();
Devuelve: falso en caso de fallo o un flotante de la nueva cantidad, como 247.39
decrease_earnings( mixed $amount = 0 )
Disminuye las ganancias totales de una descarga por la cantidad de entrada.
Ejemplo:
$decrease_earnings = $my_download->decrease_earnings();
Devuelve: false en caso de error o un número flotante con el nuevo importe, como 147,39
es_gratis( mixed $id_precio = false )
Comprueba si la descarga es gratuita O si el ID de precio proporcionado es gratuito.
Ejemplo:
$is_free = $my_download->is_free();
Devuelve: true o false
