A classe EDD_Download é usada para obter dados sobre um Download específico, criar novos Downloads e editar Downloads existentes. As propriedades públicas que podem ser gerenciadas com esta classe são:
- $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: As propriedades acima são herdadas e idênticas às propriedades em WP_Post.
Criando um Download
Para criar um novo download, primeiro instancie a classe e depois execute o método create().
$new_download = new EDD_Download; $new_download->create();
Isso criará um único Download com configurações padrão, que são um Rascunho com o título de ‘Novo Produto de Download’.
O método create usa
wp_insert_post(), então você pode passar quaisquer argumentos para create() que wp_insert_post() possa aceitar. Algo como isto funcionaria bem:
$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 );
Carregando um Download Existente
Isso é feito simplesmente passando um ID de Download para o nome da classe durante a instanciação.
Exemplo:
$my_download = new EDD_Download( 1492 );
Métodos de Busca de Dados
EDD_Download possui uma variedade de métodos para obter dados sobre o Download, manipular metadados e testar várias coisas.
get_ID()
Este método simplesmente retorna o ID do Download.
Exemplo:
$download_id = $my_download->get_ID();
Retorna: um inteiro, como 1492.
get_price()
Este método retorna o preço do Download em formato double, sem símbolo de moeda.
$download_price = $my_download->get_price();
Retorna: um double, como 9.99. Cálculos podem ser feitos com este resultado.
get_prices()
Este método retorna um array dos preços variáveis do Download em formato double, sem símbolo de moeda.
$variable_prices = $my_download->get_prices();
Retorna um array de preços como este:
Array
(
[1] => Array
(
[index] => 1
[name] => Regular
[amount] => 9.99
)
[2] => Array
(
[index] =>
[name] => Unleaded
[amount] => 19.99
)
is_single_price_mode()
Determina se o Modo de Preço Único está ativado ou desativado. O modo de preço único refere-se a se várias opções de preço podem ser compradas simultaneamente. Na interface do usuário do Easy Digital Downloads, a caixa de seleção para ele está em Preços Variáveis.

$is_single_price_mode = $my_download->is_single_price_mode();
Retorna: true ou false
has_variable_prices()
Determina se Preços Variáveis está ativado ou desativado em um Download específico.
$download_price = $my_download->has_variable_prices();
Retorna: true ou false
get_files()
Este método retorna um array dos arquivos anexados ao Download
$my_files = $my_download->get_files();
Retorna um array de preços como este:
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 obtém o número de vezes que este arquivo pode ser baixado.
Exemplo:
$download_limit = $my_download->get_file_download_limit();
Retorna: um inteiro, como 100.
get_file_price_condition()
Quando um produto tem preços variáveis, um ou mais arquivos podem estar disponíveis para compra. Em Atribuição de Preço, Arquivos podem ser associados a Todas as opções de preço ou apenas a algumas específicas. No exemplo abaixo, o arquivo está associado a Faixas 1, 2, 3 e Álbum Completo.

Exemplo:
$price_condition = $my_download->get_file_price_condition();
Retorna: um inteiro, como 2.
get_type()
Retorna o valor mostrando se o Download é um Pacote ou Padrão.
Exemplo:
$download_type = $my_download->get_type();
Retorna: 'default' ou 'bundle'
is_bundled_download()
Determina se este é um download agrupado.
Exemplo:
$is_bundled_download = $my_download->is_bundled_download();
Retorna: true ou false
get_bundled_downloads()
Obtém os IDs de Download dos itens em um Download agrupado.
Exemplo:
$bundled_downloads = $my_download->get_bundled_downloads();
Retorna: Uma matriz de IDs de Download como esta:
Array
(
[0] => 68
[1] => 114
)
Nota: get_bundled_downloads() retornará uma matriz vazia se o produto não for um pacote, então considere fazer algo como isto:
if ( $my_download->is_bundled_download() ) {
$bundled_downloads = $my_download->get_bundled_downloads();
}
get_notes()
Retorna as notas de um Download como uma string.
Exemplo:
$download_notes = $my_download->get_notes();
Retorna: As notas como uma string, e mantém as quebras de linha.
get_sku()
Retorna o SKU de um Download como uma string.
Exemplo:
$download_sku = $my_download->get_sku();
Retorna: O SKU como uma string
get_button_behavior()
Retorna o que acontece quando alguém clica no botão comprar
Exemplo:
$download_button_behavior = $my_download->get_button_behavior();
Retorna: 'direct' para Comprar Agora ou 'add_to_cart' para Adicionar ao Carrinho.
get_sales()
Retorna o número de vendas concluídas para este item
Exemplo:
$download_sales = $my_download->get_sales();
Retorna: um inteiro como 42
increase_sales()
Incrementa o número de vendas em 1. Não pode receber entrada, não pode aumentar em mais de 1.
Exemplo:
$increase_sales = $my_download->increase_sales();
Retorna: false em caso de falha ou um inteiro da nova contagem de vendas.
decrease_sales()
Decrementa o número de vendas em 1. Não pode receber entrada, não pode aumentar em mais de 1.
Exemplo:
$decrease_sales = $my_download->decrease_sales();
Retorna: false em caso de falha ou um inteiro da nova contagem de vendas.
get_earnings()
Retorna o ganho total para este download.
Exemplo:
$download_earnings = $my_download->get_earnings();
Retorna: um float como 152.69
increase_earnings( mixed $amount = 0 )
Aumenta os ganhos totais de um Download pelo valor de entrada.
Exemplo:
$increase_earnings = $my_download->increase_earnings();
Retorna: false em caso de falha ou um float do novo valor, como 247.39
decrease_earnings( mixed $amount = 0 )
Diminui os ganhos totais de um Download pelo valor de entrada.
Exemplo:
$decrease_earnings = $my_download->decrease_earnings();
Retorna: false em caso de falha ou um float do novo valor, como 147.39
is_free( mixed $price_id = false )
Verifica se o download é gratuito OU se o ID de preço fornecido é gratuito.
Exemplo:
$is_free = $my_download->is_free();
Retorna: true ou false
