回答
首先为您的问题+1。从WooCommerce 2.2
开始,如果您的支付网关允许,WooCommerce直接允许退款。退款可以通过两种方式完成:自动通过支付网关或手动。请参阅页面:http://docs.woothemes.com/document/woocommerce-refunds/了解更多信息。如果您想获得退款详情,请使用本页列出的方法:http://docs.woothemes.com/wc-apidocs/class-WC_Order.html。
我还没有找到一个正确的方法来使用内置的WooCommerce类来完成这项工作(白天的报告是......关闭)。我通过使用WooCommerce拉报表数据的查询和挖掘具有下列以获得退款订单项目上来:
<?php
global $wpdb;
// TODO: time zones, better ranges, etc.
$date_start = new DateTime('-7 days');
$date_end = new DateTime('now');
$sql_reports_refunded = <<<SQL
SELECT
product_id.meta_value AS product_id,
variation_id.meta_value AS variation_id,
order_items.order_item_name AS product_name,
product_sku.meta_value AS product_SKU,
variation_sku.meta_value AS variation_SKU,
SUM(quantity.meta_value) AS quantity
FROM {$wpdb->prefix}posts AS posts
LEFT JOIN {$wpdb->prefix}woocommerce_order_items AS order_items ON posts.ID = order_items.order_id
LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS quantity ON order_items.order_item_id = quantity.order_item_id AND quantity.meta_key = '_qty'
LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS variation_id ON order_items.order_item_id = variation_id.order_item_id AND variation_id.meta_key = '_variation_id'
LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS product_id ON order_items.order_item_id = product_id.order_item_id AND product_id.meta_key = '_product_id'
LEFT JOIN {$wpdb->prefix}postmeta AS product_sku ON product_id.meta_value = product_sku.post_id AND product_sku.meta_key = '_sku'
LEFT JOIN {$wpdb->prefix}postmeta AS variation_sku ON variation_id.meta_value = variation_sku.post_id AND variation_sku.meta_key = '_sku'
WHERE posts.post_status IN ('wc-completed', 'wc-refunded')
AND posts.post_type IN ('shop_order_refund')
AND posts.post_date >= '{$date_start->format('Y-m-d')}'
AND posts.post_date < '{$date_end->format('Y-m-d')}'
AND order_items.order_item_type = 'line_item'
AND order_items.order_id IS NOT NULL
GROUP BY product_id, variation_id
ORDER BY quantity DESC, product_name ASC
SQL;
return $wpdb->get_results($sql_reports_refunded);
?>
这是非常接近WC什么用抢的各种报告中的数据。当我写这篇文章时,我会建议如果您需要WooCommerce的自定义报告,您可能需要通过自定义查询或中的get_order_report_data
自行完成。
同样值得注意的是,如果您将这些结果与WooCommerce的计数进行比较,结果可能会失败。当他们检查总计时,它们会在提供的结束日期中添加额外的一天。 – 2015-07-06 20:56:19
我知道这几乎是几岁,但这是我发现的关于获得退款数据的唯一讨论。 Anoop的回答是正确的,但为了更好地阐明,WC_Order的退款方式应该返回所需的内容。例如:我正在为事件样式产品构建“参与者”列表。参与者的人数查看购买订单的该产品/事件的数量。通过量的方式再融资实际上并没有调整订单的数量,而是项目的退还数量都存储在这里:
WC_Order()->get_item_count_refunded();
一般退款细节可以得到:
WC_Order()->get_refunds();
- 1. Woocommerce产品说明 - 元数据密钥?
- 2. 数据库交易成本与条款
- 3. Woocommerce手动插入交易数据
- 4. 如何从WooCommerce产品CRUD webhook获取正确的数据?
- 5. 使用function.php的单品产品的Woocommerce元数据
- 6. 安排Woocommerce可变产品数据
- 7. SQL查询来获取所有的产品,类别和元数据woocommerce/WordPress的
- 8. 从woocommerce网站获取woocommerce数据库中的销售产品和库存
- 9. WooCommerce:产品排序根据产品ID
- 10. 生成贷款收据报告(退款或反向交易)
- 11. 无交易提取数据
- 12. 交易数据
- 13. 获取数据库中的产品ID
- 14. 从数据库中获取产品
- 15. Google产品数据提取
- 16. 添加隐藏元数据到产品Woocommerce
- 17. 只获取Woocommerce产品标签的帖子条款?
- 18. Woocommerce获得产品
- 19. 取子产品woocommerce
- 20. 获取来自数据库的具体数据产品
- 21. Firebase交易数据
- 22. 重新排列数据集与每季度的交易信息交易数据与每列交易一列
- 23. 无法根据Woocommerce中的属性获取产品
- 24. 如何将部分退款存储在WooCommerce数据库中?
- 25. 数据库中的Woocommerce产品类别数存储在哪里?
- 26. 加元的产品。车WooCommerce
- 27. Woocommerce:获取所有订单产品
- 28. Wordpress + WooCommerce获取产品标签
- 29. Woocommerce - 在产品单页中获取SKU
- 30. Woocommerce通过ID获取产品价值
嘿@Asok感谢寻求帮助,但我想获得退款数据:order_id,产品ID和数量。你能帮我解决这个问题吗? – JBNavadiya 2014-10-01 09:01:17