php - WooCommerce 在前端自定义日期后显示产品总销售额

标签 php mysql wordpress woocommerce product

我想显示自定义日期后的产品总销售额:

我有此代码,但我想将其自定义为仅显示自定义日期之后的总销售额,例如 05/26/2016

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

最佳答案

total_sales holds the total sales count of all time, So you need to write custom query to get sold count between specific date.

//woocommerce get total sale count of a product after a specific data
function wh_get_total_sold_by_product_id($date_from, $product_id)
{
    global $wpdb;
    $date_to = date('Y-m-d');

    $sql = "
    SELECT COUNT(*) AS sale_count
    FROM {$wpdb->prefix}woocommerce_order_items AS order_items
    INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS order_meta ON order_items.order_item_id = order_meta.order_item_id
    INNER JOIN {$wpdb->posts} AS posts ON order_meta.meta_value = posts.ID
    WHERE order_items.order_item_type = 'line_item'
    AND order_meta.meta_key = '_product_id'
    AND order_meta.meta_value = %d
    AND order_items.order_id IN (
        SELECT posts.ID AS post_id
        FROM {$wpdb->posts} AS posts
        WHERE posts.post_type = 'shop_order'
            AND posts.post_status IN ('wc-completed','wc-processing')
            AND DATE(posts.post_date) BETWEEN %s AND %s
    )
    GROUP BY order_meta.meta_value";

    return $wpdb->get_var($wpdb->prepare($sql, $product_id, $date_from, $date_to));
}

代码进入 functions.php您活跃的子主题(或主题)的文件。或者也可以在任何插件 php 文件中。

用法

//$count = wh_get_total_sold_by_product_id($my_custom_date, $product_id);
$count = wh_get_total_sold_by_product_id('2016-05-26', 56);

请注意:所有日期均采用 Y-m-d 格式。

代码已经过测试并且可以工作。

希望这对您有所帮助!

关于php - WooCommerce 在前端自定义日期后显示产品总销售额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44183001/

相关文章:

mysql - 从 MySql 中的最新时间戳中获取多列的最大值

PHP/SQL - 查询不显示所有数据

php - 保存帖子并添加帖子元执行两次

php - php 字符串中第二个字符小写

Php脚本和mysql查询错误,无法初始化变量

mysql - 外键约束格式不正确 : MySQL

javascript - 为wordpress自定义菜单项创建一个onClick函数

javascript - 使文本重复地从一列流到另一列

php - Magento 如何检查管理员是否登录(前端)

php - 是否可以将 php 变量插入到您的 js 代码中?