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

Woocommerce循环中每个订单商品的总计数

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

Woocommerce循环中每个订单商品的总计数

已更新 (现在,SQL查询还提供了产品名称,使它更轻巧)

与其使用

WP_Query
和一些繁重的代码来进行计算,不如使用Class(SQL查询),最好使用
更轻巧有效的版本代码
WPDB

global $wpdb;$results = $wpdb->get_results( "    SELECt DISTINCT woim2.meta_value as id, SUM(woim.meta_value) 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}woocommerce_order_itemmeta as woim2 ON woi.order_item_id = woim2.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 woim.meta_key LIKE '_qty'    AND woim2.meta_key LIKE '_product_id'    GROUP BY woim2.meta_value" );foreach( $results as $result ){    echo $result->name . ' (' . $result->id . ') x ' . $result->count . '<br>';}

产品数量将仅基于加工产品状态而不是产品总销售额。

经过测试和工作。


而是获取产​​品变体 (如您的评论中所述)

根据您的评论中的要求以获取订单中的产品变型,您将替换该行:

 AND woim2.meta_key LIKE '_product_id'

通过以下行:

 AND woim2.meta_key LIKE '_variation_id'

获取所有产品和版本(不包括可变产品)

要获得所有产品(包括产品变体, 但不包括可变产品),请 使用:

global $wpdb;$results = $wpdb->get_results( "    SELECt DISTINCT woim2.meta_value as id, SUM(woim.meta_value) 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}woocommerce_order_itemmeta as woim2 ON woi.order_item_id = woim2.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 woim.meta_key LIKE '_qty'    AND ((woim2.meta_key LIKE '_variation_id' AND woim2.meta_value > 0)    OR (woim2.meta_key LIKE '_product_id'    AND woim2.meta_value NOT IN (SELECt DISTINCT post_parent FROM {$wpdb->prefix}posts WHERe post_type LIKE 'product_variation')))    GROUP BY woim2.meta_value" );foreach( $results as $result ){    echo $result->name . ' (' . $result->id . ') x ' . $result->count . '<br>';}

经过测试和工作。


要获得它们的全部信息 (甚至包括产品变体和可变产品)

global $wpdb;$results = $wpdb->get_results( "    SELECt DISTINCT woim2.meta_value as id, SUM(woim.meta_value) 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}woocommerce_order_itemmeta as woim2 ON woi.order_item_id = woim2.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 woim.meta_key LIKE '_qty'    AND ((woim2.meta_key LIKE '_variation_id' AND woim2.meta_value > 0)    OR woim2.meta_key LIKE '_product_id' )    GROUP BY woim2.meta_value" );foreach( $results as $result ){    echo $result->name . ' (' . $result->id . ') x ' . $result->count . '<br>';}

经过测试和工作。



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

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

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