WC_Discounts::set_items_from_cart()publicWC 3.2.0

Normalise cart items which will be discounted.

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

Хуков нет.

Возвращает

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

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

$WC_Discounts = new WC_Discounts();
$WC_Discounts->set_items_from_cart( $cart );
$cart(WC_Cart) (обязательный)
Cart object.

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

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

Код WC_Discounts::set_items_from_cart() WC 8.7.0

public function set_items_from_cart( $cart ) {
	$this->items     = array();
	$this->discounts = array();

	if ( ! is_a( $cart, 'WC_Cart' ) ) {
		return;
	}

	$this->object = $cart;

	foreach ( $cart->get_cart() as $key => $cart_item ) {
		$item                = new stdClass();
		$item->key           = $key;
		$item->object        = $cart_item;
		$item->product       = $cart_item['data'];
		$item->quantity      = $cart_item['quantity'];
		$item->price         = wc_add_number_precision_deep( (float) $item->product->get_price() * (float) $item->quantity );
		$this->items[ $key ] = $item;
	}

	uasort( $this->items, array( $this, 'sort_by_price' ) );
}