WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

WC_REST_Orders_V2_Controller::prepare_coupon_lines() protected WC 1.0

Create or update an order coupon.

{} Это метод класса: WC_REST_Orders_V2_Controller{}

Хуков нет.

Возвращает

WC_Order_Item_Coupon.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->prepare_coupon_lines( $posted, $action, $item );
$posted(массив) (обязательный)
Item data.
$action(строка)
'create' to add coupon or 'update' to update it.
По умолчанию: 'create'
$item(объект)
Passed when updating an item. Null during creation.
По умолчанию: null

Код WC_REST_Orders_V2_Controller::prepare_coupon_lines() WC 4.7.1

<?php
protected function prepare_coupon_lines( $posted, $action = 'create', $item = null ) {
	$item = is_null( $item ) ? new WC_Order_Item_Coupon( ! empty( $posted['id'] ) ? $posted['id'] : '' ) : $item;

	if ( 'create' === $action ) {
		if ( empty( $posted['code'] ) ) {
			throw new WC_REST_Exception( 'woocommerce_rest_invalid_coupon_coupon', __( 'Coupon code is required.', 'woocommerce' ), 400 );
		}
	}

	$this->maybe_set_item_props( $item, array( 'code', 'discount' ), $posted );
	$this->maybe_set_item_meta_data( $item, $posted );

	return $item;
}