Login
Get Started

Documentación de Easy Digital Downloads

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

Consultar productos en la base de datos

Al desarrollar en torno a 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.

Obtener un solo producto

La mejor manera de obtener información sobre un solo producto 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, las variaciones, etc.
Documentación completa para EDD_Download aquí.

Obtener varios productos

Las descargas son un tipo de contenido personalizado de WordPress, por lo que es posible obtener los IDs de varias descargas usando
get_posts(). Si especificas el parámetro de campos correctamente, 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á una matriz de download_ids como esta:

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

Trabajar con varios productos

Una vez que tengas una matriz de download_ids, puedes simplemente iterar sobre la matriz 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
}
Was this article helpful?

¡Empieza a vender hoy mismo!

Únete a más de 50.000 propietarios 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]