Entrar
Começar

Documentação do Easy Digital Downloads

Documentação, Materiais de Referência e Tutoriais para Easy Digital Downloads 

Consultando Produtos no Banco de Dados

Ao construir em torno do Easy Digital Downloads, você pode achar necessário consultar o banco de dados para obter dados de produtos. Este documento mostrará vários exemplos de como fazer isso corretamente.

Obtendo um Único Produto

A melhor maneira de obter informações sobre um único produto é usar a classe EDD_Download. Ela aceita um
download_id e retorna um objeto com informações sobre o download. Exemplo:

$download = new EDD_Download( 109 );

Isso retornaria um 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
)

Uma vez que você tenha o objeto, há uma grande variedade de métodos que podem ser executados nele para obter informações como preço, variações, etc.
Documentação completa para EDD_Download aqui.

Obtendo Múltiplos Produtos

Downloads são um tipo de conteúdo personalizado do WordPress, portanto, é possível obter os IDs de vários downloads usando
get_posts(). Se você especificar o parâmetro de campos corretamente, então get_posts obterá apenas os IDs, e a consulta será muito mais rápida. Você também precisará especificar pelo menos download para o post_type. Exemplo:

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

    $downloads = get_posts( $args );

Você pode usar qualquer opção que desejar em
get_posts() para refinar sua consulta.
Documentação completa para get_posts() aqui.

Uma opção adicional não encontrada na documentação para
get_posts() é chamada no_found_rows(). Isso remove alguns dados necessários para paginação, mas acelera dramaticamente sua consulta. Se você precisar de paginação, não use esta opção. Se você não precisar de paginação, ficaria assim:

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

$downloads = get_posts( $args );

A consulta acima retornará um array de download_ids como este:

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

Trabalhando Com Múltiplos Produtos

Uma vez que você tenha um array de download_ids, você pode simplesmente iterar sobre o array criando objetos EDD_Download como este:

foreach ( $downloads as $key => $download_id ) {
	$download = new EDD_Download( $download_id );
	// do whatever you wish with each object
}
Este artigo foi útil?

Comece a vender hoje mesmo!

Junte-se a mais de 50.000 proprietários de lojas inteligentes e comece a usar a maneira mais fácil de vender produtos digitais com o WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]