Obtenir le montant total des ventes du produit WooCommerce
J'ai créé un shortcode qui retournera tous les produits dans une boucle. Je cherche un moyen d'obtenir le total des ventes pour chaque produit. En ce moment, j'ai encore du mal à trouver la solution.
Voici mon code:
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');
Comment obtenir une somme des ventes pour chaque produit et l'afficher dans la boucle?
Réponses
Vous pouvez utiliser les fonctions personnalisées suivantes qui permettront d'obtenir pour chaque produit, le revenu net ou / et le revenu brut:
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 ) );
}
Le code va dans le fichier functions.php du thème enfant actif (ou thème actif).
Testé et fonctionne dans WooCommerce 4 et supérieur.
Exemple d'utilisation dans votre boucle:
<?php $amount = get_product_net_revenue( $loop->post->ID ); ?>
Ensuite, vous pouvez utiliser cette variable de montant flottant là où vous en avez besoin.