如何在前端显示woocommerce售出的产品总数

时间:2019-08-02 12:07:14

标签: wordpress woocommerce orders

有人可以帮助我显示woocommerce商店中曾经售出的商品总数吗?我想在主页上显示它作为我们的统计数据之一。请帮忙。

我已经尝试过添加此代码,但是结果是这样的:

已售出的生产单位 Calculadora deimpresión3D在线1051 在线计算Calculadora deimpressão3D 1046

我需要知道其总数,以后才能将其总数乘以* 8,以显示生产每种产品所消耗的材料千克。

<?php
$args = array(
    'post_type' => 'product',
    'meta_key' => 'total_sales',
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'meta_query' => array(
        array(
            'key' => 'total_sales',
            'value' => 0,
            'compare' => '>'
        )
    )
);

$output = array_reduce( get_posts( $args ), function( $result, $post ) {
    return $result .= '<tr><td>' . $post->post_title . '</td><td>' . get_post_meta( $post->ID, 'total_sales', true ) . '</td></tr>';
} );

echo '<table><thead><tr><th>' . __( 'Product', 'woocommerce' ) . '</th><th>' . __( 'Units Sold', 'woocommerce' ) . '</th></tr></thead>' . $output . '</table>';
?>

1 个答案:

答案 0 :(得分:0)

在主题的functions.php文件中添加此代码,以在单个产品页面上显示已售出的全部产品

add_action('woocommerce_single_product_summary','total_product_sold_count',10);

function total_product_sold_count() {
global $product;
$units_sold = get_post_meta( $product->get_id(), 'total_sales', true );
if ( $units_sold ) echo '<p>' . sprintf( __( 'Total Sold: %s', 'woocommerce' ), $units_sold ) . '</p>';
}