Obtenga el monto total de ventas del producto WooCommerce
Nov 24 2020
He creado un código corto que devolverá todos los productos en un bucle. Estoy buscando una forma de obtener las ventas totales de cada producto. En este momento todavía me cuesta encontrar la solución.
Este es mi codigo:
function loop_ffh_function()
{
?>
<div class="row">
<?php
$args = array( 'numberposts' => -1, 'post_type' => 'product', 'orderby' => 'date'); $loop = new WP_Query($args); while ($loop->have_posts()) : $loop->the_post(); global $product; ?>
<?php
$productID = get_the_ID(); ?> <div class="column"> <a href="<?php echo get_permalink($loop->post->ID) ?>">
<?php the_post_thumbnail('full'); ?>
</a>
<?php
$target = get_field( 'campaign_target_amount' ); ?> <div class="progress" style="margin-top:20px;"> <div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:40%"> 40% </div> </div> <div class="row"> <div class="col-md-8" style="padding-top:7px;"> Target : <b style="font-size: 18px;">RM <?php echo $target;?></b>
</div>
<div class="col-md-4">
<a class="btn" href="<?php echo get_permalink($loop->post->ID) ?>">Donate Now</a>
</div>
</div>
</div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</div>
<?php
}
add_shortcode('loop_ffh', 'loop_ffh_function');
¿Cómo obtener una cantidad total de ventas para cada producto y mostrarlo en el ciclo?
Respuestas
3 LoicTheAztec Nov 25 2020 at 16:25
Puede utilizar las siguientes funciones personalizadas que obtendrán para cada producto, los ingresos netos y / o los ingresos brutos:
function get_product_net_revenue( $product_id ) { global $wpdb;
return (float) $wpdb->get_var( $wpdb->prepare("
SELECT SUM(product_net_revenue)
FROM {$wpdb->prefix}wc_order_product_lookup WHERE product_id = %d ",$product_id ) );
}
function get_product_gross_revenue( $product_id ) { global $wpdb;
return (float) $wpdb->get_var( $wpdb->prepare("
SELECT SUM(product_gross_revenue)
FROM {$wpdb->prefix}wc_order_product_lookup WHERE product_id = %d ",$product_id ) );
}
El código va en el archivo functions.php del tema hijo activo (o tema activo).
Probado y funciona en WooCommerce 4 y superior.
Ejemplo de uso dentro de su bucle:
<?php $amount = get_product_net_revenue( $loop->post->ID ); ?>
Entonces puede usar esta variable de cantidad flotante donde lo necesite.