programing

Woocommerce 3에서 환불된 주문 및 환불된 주문 항목 세부 정보 확인

padding 2023. 4. 3. 21:20
반응형

Woocommerce 3에서 환불된 주문 및 환불된 주문 항목 세부 정보 확인

그렇습니까, 주문 내용을 보면 환불이 되지 않으면 환불된 상품이 표시됩니다.

를 사용하여 찾을 수 있는 방법이 있습니까?WC_Order_Item_Product상품이 환불됐는지요?또한 주문보기 항목 아래에 표시되는 할인금액을 얻을 수 있는 방법이 있습니까?

현재 수동으로 하고 있습니다만, 이미 기능이 있다면 사용하고 싶습니다.

환불 주문을 받으려면 Item Id를 인수로 하는 다음과 같은 몇 가지 전용 방법을 사용할 수 있습니다.

$item_qty_refunded = $order->get_qty_refunded_for_item( $item_id ); // Get the refunded amount for a line item.

$item_total_refunded = $order->get_total_refunded_for_item( $item_id ); // Get the refunded amount for a line item.

다음 방법을 사용하여 이 주문에 대한 어레이 개체에 액세스할 수 있습니다.

  • 환불할 때마다 이 방법을 사용할 수 있습니다.
  • 각 환불에 대해 다음 방법으로 항목에 액세스할 수 있습니다.WC_Abstract_Order현재 주문 환불을 위해 환불된 아이템을 제공하는 방법.
  • 각 환불 "라인" 항목은 (일반적으로 마이너스 값)입니다. 관련 답변: WooCommerce 3의 주문 항목과 WC_Order_Item_Product를 참조하십시오.

따라서 다음 예제 코드를 사용할 수 있습니다.

// Get the WC_Order Object instance (from the order ID)
$order = wc_get_order( $order_id );

// Get the Order refunds (array of refunds)
$order_refunds = $order->get_refunds();

// Loop through the order refunds array
foreach( $order_refunds as $refund ){
    // Loop through the order refund line items
    foreach( $refund->get_items() as $item_id => $item ){

        ## --- Using WC_Order_Item_Product methods --- ##

        $refunded_quantity      = $item->get_quantity(); // Quantity: zero or negative integer
        $refunded_line_subtotal = $item->get_subtotal(); // line subtotal: zero or negative number
        // ... And so on ...

        // Get the original refunded item ID
        $refunded_item_id       = $item->get_meta('_refunded_item_id'); // line subtotal: zero or negative number
    }
}

관리 주문 편집 페이지에 표시되는 주문 항목의 할인된 값을 얻으려면 다음 코드를 사용합니다.

// Get the WC_Order Object instance (from the order ID)
$order = wc_get_order($order_id);

// Loop through the order refund line items
foreach( $order->get_items() as $item_id => $item ){
    $line_subtotal     = $item->get_subtotal();
    $line_total        = $item->get_total();
    $line_subtotal_tax = $item->get_subtotal_tax();
    $line_total_tax    = $item->get_total_tax();
    
    // Get the negative discount values
    $line_discount     = $line_total - $line_subtotal; // (Negative number)
    $line_discount_tax = $line_total_tax - $line_subtotal_tax; // (Negative number)
}

관련 답변:

사용하시는 경우get_qty_refunded_for_item( $item_id )또는get_total_refunded_for_item( $item_id )0의 사용을 반환한다.absint().

$item_qty_refunded = $order->get_qty_refunded_for_item( $item_id ); // Get the refunded amount for a line item.

$item_total_refunded = $order->get_total_refunded_for_item( $item_id ); // Get the refunded amount for a line item.

언급URL : https://stackoverflow.com/questions/52490697/get-refunded-orders-and-refunded-order-items-details-in-woocommerce-3

반응형