Filtro de Pedidos
‘limit’ => -1, // Retorna todos os pedidos
‘date_query’ => array(),
);
// Aplicando filtros se foram definidos
if (!empty($usuario_id)) {
$args[‘customer’] = $usuario_id;
}
if (!empty($tipo_pagamento)) {
$args[‘payment_method’] = $tipo_pagamento;
}
if (!empty($categoria_produto)) {
$args[‘tax_query’] = array(
array(
‘taxonomy’ => ‘product_cat’,
‘field’ => ‘term_id’,
‘terms’ => $categoria_produto,
),
);
}
if (!empty($data_inicial) && !empty($data_final)) {
// Ajustando o formato das datas para a consulta
$data_inicial = date(‘Y-m-d’, strtotime($data_inicial));
$data_final = date(‘Y-m-d’, strtotime($data_final));
$args[‘date_query’] = array(
‘after’ => $data_inicial,
‘before’ => $data_final,
‘inclusive’ => true, // Inclui as datas de início e fim na consulta
);
}
// Obtendo os pedidos do WooCommerce com base nos argumentos
$pedidos = wc_get_orders($args);
// Exibindo os resultados
echo ”;
echo ‘
Resultados:
‘;
if ($pedidos) {
echo ‘
‘;echo ”;echo ”;echo ”;
echo ”;
echo ”;
echo ”;
echo ”;
echo ”; // Adiciona o cabeçalho da forma de pagamento
echo ”;
echo ”;
echo ”;$total_vendas = 0; // Inicializa o total de vendasforeach ($pedidos as $pedido) {// Obtendo o número do pedido$numero_pedido = $pedido->get_order_number();// Obtendo a forma de pagamento$forma_pagamento = $pedido->get_payment_method();// Obtendo os itens do pedido$itens = $pedido->get_items();foreach ($itens as $item) {$produto = $item->get_product(); // Obtendo o produto associado ao itemecho ”;// Exibindo o número do pedido apenas na primeira linhaecho ”;
echo ”; // Nome do produto
echo ”; // Categoria do produto
echo ”; // Valor do produto
echo ”; // Total do item
if ($forma_pagamento === ‘woo-mercado-pago-pix’) {
$forma_pagamento = ‘Pix’;
}
if ($forma_pagamento === ‘cod’) {
$forma_pagamento = ‘Dinheiro’;
}
echo ”; // Forma de pagamento
echo ”;
$total_vendas += $item->get_total(); // Adiciona o total do item ao total de vendas
}
}
echo ”;
echo ‘
Número do Pedido | Nome do Produto | Categoria | Valor | Total | Forma de Pagamento |
---|---|---|---|---|---|
‘ . ($item === reset($itens) ? $numero_pedido : ”) . ‘ | ‘ . $produto->get_name() . ‘ | ‘ . implode(‘, ‘, wp_get_post_terms($produto->get_id(), ‘product_cat’, array(‘fields’ => ‘names’))) . ‘ | ‘ . wc_price($produto->get_price()) . ‘ | ‘ . wc_price($item->get_total()) . ‘ | ‘ . $forma_pagamento . ‘ |
‘;
// Exibe o total de vendas abaixo da tabela
echo ‘Total de Vendas: ‘ . wc_price($total_vendas) . ”;
} else {
echo ‘
Nenhum produto vendido encontrado com os filtros aplicados.
‘;
}
echo ”; // Fechando a div.container
?>