WC_Checkout::create_order_coupon_lines( WC_Order $order, WC_Cart $cart )
Add coupon lines to the order.
Description Description
Parameters Parameters
- $order
-
(Required) Order instance.
- $cart
-
(Required) Cart instance.
Source Source
File: includes/class-wc-checkout.php
public function create_order_coupon_lines( &$order, $cart ) { foreach ( $cart->get_coupons() as $code => $coupon ) { $item = new WC_Order_Item_Coupon(); $item->set_props( array( 'code' => $code, 'discount' => $cart->get_coupon_discount_amount( $code ), 'discount_tax' => $cart->get_coupon_discount_tax_amount( $code ), ) ); // Avoid storing used_by - it's not needed and can get large. $coupon_data = $coupon->get_data(); unset( $coupon_data['used_by'] ); $item->add_meta_data( 'coupon_data', $coupon_data ); /** * Action hook to adjust item before save. * * @since 3.0.0 */ do_action( 'woocommerce_checkout_create_order_coupon_item', $item, $code, $coupon, $order ); // Add item to order and save. $order->add_item( $item ); } }