栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取Woocommerce中每种产品的今天的总订单数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取Woocommerce中每种产品的今天的总订单数

这可以通过以下非常简单的SQL查询和foreach循环来完成。

这将为您提供过去24小时内按产品计数的订单的产品列表 (以及产品变体,但没有父变量产品)

global $wpdb;$results = $wpdb->get_results( "    SELECt DISTINCT woim.meta_value as id, COUNT(woi.order_id) as count, woi.order_item_name as name    FROM {$wpdb->prefix}woocommerce_order_itemmeta as woim    INNER JOIN {$wpdb->prefix}woocommerce_order_items as woi ON woi.order_item_id = woim.order_item_id    INNER JOIN {$wpdb->prefix}posts as p ON p.ID = woi.order_id    WHERe p.post_status IN ('wc-processing','wc-on-hold')    AND UNIX_TIMESTAMP(p.post_date) >= (UNIX_TIMESTAMP(NOW()) - (86400))    AND ((woim.meta_key LIKE '_variation_id' AND woim.meta_value > 0)    OR (woim.meta_key LIKE '_product_id'    AND woim.meta_value NOT IN (SELECt DISTINCT post_parent FROM {$wpdb->prefix}posts WHERe post_type LIKE 'product_variation')))    GROUP BY woim.meta_value" );// Loop though each productforeach( $results as $result ){    $product_id   = $result->id;    $product_name = $result->name;    $orders_count = $result->count;    // Formatted Output    echo 'Product: ' . $product_name .' (' . $product_id . ') = ' . $orders_count . '<br>';}

经过测试和工作。


如果要改为根据“今天”日期获得总数,则将在此行中的代码中替换:

AND UNIX_TIMESTAMP(p.post_date) >= (UNIX_TIMESTAMP(NOW()) - (86400))

通过这一行:

AND DATE(p.post_date) >= CURDATE()

*使用

CONVERT_TZ()
SQL函数进行 *时区
调整( 将最后一个参数 调整
'+10:00'
为与时区匹配的偏移量)

AND DATE(p.post_date) >= DATE(CONVERT_TZ( NOW(),'+00:00','+10:00'))



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596686.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号