WC_AJAX::delete_refund()public staticWC 1.0

Delete a refund.

Метод класса: WC_AJAX{}

Хуки из метода

Возвращает

null. Ничего (null).

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

$result = WC_AJAX::delete_refund();

Код WC_AJAX::delete_refund() WC 8.7.0

public static function delete_refund() {
	check_ajax_referer( 'order-item', 'security' );

	if ( ! current_user_can( 'edit_shop_orders' ) || ! isset( $_POST['refund_id'] ) ) {
		wp_die( -1 );
	}

	$refund_ids = array_map( 'absint', is_array( $_POST['refund_id'] ) ? wp_unslash( $_POST['refund_id'] ) : array( wp_unslash( $_POST['refund_id'] ) ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
	foreach ( $refund_ids as $refund_id ) {
		if ( $refund_id && 'shop_order_refund' === OrderUtil::get_order_type( $refund_id ) ) {
			$refund   = wc_get_order( $refund_id );
			$order_id = $refund->get_parent_id();
			$refund->delete( true );
			do_action( 'woocommerce_refund_deleted', $refund_id, $order_id );
		}
	}
	wp_die();
}