Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected function get_total_cost_refunded_for_item( $item, $item_id = null ) {
- global $wpdb;
- $total = null;
- if ( $item instanceof \WC_Order_Item ) {
- $total = 0;
- global $blog_id;
- $switch_to_blog = FALSE;
- if ( $blog_id > 1 )
- {
- $switch_to_blog = $blog_id;
- restore_current_blog();
- }
- $order = $item->get_order();
- if ( $switch_to_blog !== FALSE )
- switch_to_blog( $switch_to_blog );
- if ( ! empty ( $order_blog_id ) )
- restore_current_blog();
- foreach ( $order->get_refunds() as $refund ) {
- /* @var \WC_Order_Item $refunded_item */
- foreach ( $refund->get_items() as $refunded_item ) {
- if ( absint( $refunded_item->get_meta( '_refunded_item_id' ) ) === $item->get_id() ) {
- $total_cost = $refunded_item->get_meta( '_wc_cog_item_total_cost' );
- $total += is_numeric( $total_cost ) ? (float) $total_cost : 0;
- }
- }
- }
- } elseif ( $item_id ) {
- $total = $wpdb->get_var( $wpdb->prepare( "
- SELECT SUM( order_itemmeta.meta_value )
- FROM {$wpdb->prefix}woocommerce_order_itemmeta AS order_itemmeta
- WHERE order_itemmeta.meta_key = '_wc_cog_item_total_cost' AND
- order_itemmeta.order_item_id IN (
- SELECT order_item_id FROM {$wpdb->prefix}woocommerce_order_itemmeta as order_itemmeta2
- WHERE order_itemmeta2.meta_value = %d AND order_itemmeta2.meta_key = '_refunded_item_id'
- )
- ", $item_id ) );
- }
- return str_replace( '-', '', (string) $total );
- }
Advertisement
Comments
-
- \wp-content\plugins\woocommerce-cost-of-goods-3\src\admin\class-wc-cog-admin-orders.php
Add Comment
Please, Sign In to add comment
Advertisement