Iniciar sesión
Empezar

Documentación de Easy Digital Downloads

Documentación, Materiales de Referencia y Tutoriales para Easy Digital Downloads 

Consultando Productos en la Base de Datos

Al desarrollar alrededor de Easy Digital Downloads, es posible que necesites consultar la base de datos para obtener datos de productos. Este documento mostrará varios ejemplos de cómo hacerlo correctamente.

Obteniendo un Producto Individual

La mejor manera de obtener información sobre un producto individual es usar la clase EDD_Download. Acepta un
download_id y devuelve un objeto con información sobre la descarga. Ejemplo:

$download = new EDD_Download( 109 );

Esto devolvería un objeto como este:

EDD_Download Object
(
    [ID] => 109
    [price:EDD_Download:private] => 
    [prices:EDD_Download:private] => 
    [files:EDD_Download:private] => 
    [file_download_limit:EDD_Download:private] => 
    [type:EDD_Download:private] => 
    [bundled_downloads:EDD_Download:private] => 
    [sales:EDD_Download:private] => 
    [earnings:EDD_Download:private] => 
    [notes:EDD_Download:private] => 
    [sku:EDD_Download:private] => 
    [button_behavior:EDD_Download:private] => 
    [post_author] => 2
    [post_date] => 2016-03-22 13:30:29
    [post_date_gmt] => 2016-03-22 13:30:29
    [post_content] => Buy my mp3!
    [post_title] => My MP3
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => closed
    [ping_status] => closed
    [post_password] => 
    [post_name] => my-mp3
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2016-03-22 13:30:29
    [post_modified_gmt] => 2016-03-22 13:30:29
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => https://edd.dev/?post_type=download&p=109
    [menu_order] => 0
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
    [post_type] => download
)

Una vez que tengas el objeto, hay una gran variedad de métodos que se pueden ejecutar sobre él para obtener información como el precio, variaciones, etc.
Documentación completa para EDD_Download aquí.

Obteniendo Múltiples Productos

Las descargas son un tipo de contenido personalizado de WordPress, por lo que es posible obtener los IDs de múltiples descargas usando
get_posts(). Si especificas el parámetro de campos correctamente, entonces get_posts solo obtendrá los IDs y la consulta será mucho más rápida. También necesitarás especificar al menos download para el post_type. Ejemplo:

    $args = array(
        'fields'    => 'ids',
        'post_type' => 'download',
    );

    $downloads = get_posts( $args );

Puedes usar cualquier opción que desees en
get_posts() para acotar tu consulta.
Documentación completa para get_posts() aquí.

Una opción adicional que no se encuentra en la documentación de
get_posts() se llama no_found_rows(). Esto elimina algunos datos necesarios para la paginación, pero acelera drásticamente tu consulta. Si necesitas paginación, no uses esta opción. Si no necesitas paginación, se vería así:

$args = array(
	'fields'        => 'ids',
        'post_type'     => 'download',
	'no_found_rows' => true,
);

$downloads = get_posts( $args );

La consulta anterior devolverá un array de download_ids como este:

Array
(
    [0] => 109
    [1] => 82
    [2] => 79
    [3] => 61
    [4] => 42
)

Trabajando con Múltiples Productos

Una vez que tengas un array de download_ids, puedes simplemente iterar sobre el array creando objetos EDD_Download como esto:

foreach ( $downloads as $key => $download_id ) {
	$download = new EDD_Download( $download_id );
	// do whatever you wish with each object
}
¿Fue útil este artículo?

¡Empieza a vender hoy mismo!

Únete a más de 50.000 dueños de tiendas inteligentes y empieza a usar la forma más fácil de vender productos digitales con WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]