WC_Abstract_Order::get_temporary_coupon()privateWC 8.7.0

Get a coupon object populated from order line item metadata, to be used when reapplying coupons if the original coupon no longer exists.

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

Хуков нет.

Возвращает

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

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

// private - только в коде основоного (родительского) класса
$result = $this->get_temporary_coupon( $coupon_item ): WC_Coupon;
$coupon_item(WC_Order_Item_Coupon) (обязательный)
The order item corresponding to the coupon to reapply.

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

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

Код WC_Abstract_Order::get_temporary_coupon() WC 9.7.1

private function get_temporary_coupon( WC_Order_Item_Coupon $coupon_item ): WC_Coupon {
	$coupon_object = new WC_Coupon();

	// Since WooCommerce 8.7 a succinct 'coupon_info' line item meta entry is created
	// whenever a coupon is applied to an order. Previously a more verbose 'coupon_data' was created.

	$coupon_info = $coupon_item->get_meta( 'coupon_info', true );
	if ( $coupon_info ) {
		$coupon_object->set_short_info( $coupon_info );
		return $coupon_object;
	}

	$coupon_data = $coupon_item->get_meta( 'coupon_data', true );
	if ( $coupon_data ) {
		$coupon_object->set_props( (array) $coupon_data );
	}

	return $coupon_object;
}