回答
首先爲您的問題+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