WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси
функция не описана

wc_restock_refunded_items() WC 3.0.0

Restock items during refund.

Хуки из функции
Возвращает

Null. Ничего.

Использование

wc_restock_refunded_items( $order, $refunded_line_items );
$order(WC_Order) (обязательный)
Order instance.
$refunded_line_items(массив) (обязательный)
Refunded items list.

Список изменений

С версии 3.0.0 Введена.

Код wc restock refunded items: woocommerce/includes/wc-order-functions.php WC 3.7.0

<?php
function wc_restock_refunded_items( $order, $refunded_line_items ) {
	$line_items = $order->get_items();

	foreach ( $line_items as $item_id => $item ) {
		if ( ! isset( $refunded_line_items[ $item_id ], $refunded_line_items[ $item_id ]['qty'] ) ) {
			continue;
		}
		$product            = $item->get_product();
		$item_stock_reduced = $item->get_meta( '_reduced_stock', true );
		$qty_to_refund      = $refunded_line_items[ $item_id ]['qty'];

		if ( ! $item_stock_reduced || ! $qty_to_refund || ! $product || ! $product->managing_stock() ) {
			continue;
		}

		$old_stock = $product->get_stock_quantity();
		$new_stock = wc_update_product_stock( $product, $qty_to_refund, 'increase' );

		// Update _reduced_stock meta to track changes.
		$item_stock_reduced = $item_stock_reduced - $qty_to_refund;

		if ( 0 < $item_stock_reduced ) {
			$item->update_meta_data( '_reduced_stock', $item_stock_reduced );
		} else {
			$item->delete_meta_data( '_reduced_stock' );
		}

		/* translators: 1: product ID 2: old stock level 3: new stock level */
		$order->add_order_note( sprintf( __( 'Item #%1$s stock increased from %2$s to %3$s.', 'woocommerce' ), $product->get_id(), $old_stock, $new_stock ) );

		$item->save();

		do_action( 'woocommerce_restock_refunded_item', $product->get_id(), $old_stock, $new_stock, $order, $product );
	}
}