WC_REST_Orders_Controller::prepare_line_items
Create or update a line item, overridden to add COGS data as needed.
Метод класса: WC_REST_Orders_Controller{}
Хуков нет.
Возвращает
WC_Order_Item_Product.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->prepare_line_items( $posted, $action, $item );
- $posted(массив) (обязательный)
- Line item data.
- $action(строка)
- 'create' to add line item or 'update' to update it.
По умолчанию: 'create' - $item(объект)
- Passed when updating an item. Null during creation.
По умолчанию: null
Код WC_REST_Orders_Controller::prepare_line_items() WC REST Orders Controller::prepare line items WC 10.4.3
protected function prepare_line_items( $posted, $action = 'create', $item = null ) {
$prepared = parent::prepare_line_items( $posted, $action, $item );
if ( ! $prepared->has_cogs() || ! $this->cogs_is_enabled() ) {
return $prepared;
}
$cogs_value = $posted['cost_of_goods_sold']['value'] ?? null;
if ( ! is_null( $cogs_value ) ) {
$prepared->set_cogs_value( (float) $cogs_value );
}
return $prepared;
}