WC_REST_Orders_V1_Controller::prepare_shipping_lines
Create or update an order shipping method.
Method of the class: WC_REST_Orders_V1_Controller{}
No Hooks.
Returns
WC_Order_Item_Shipping.
Usage
// protected - for code of main (parent) or child class $result = $this->prepare_shipping_lines( $posted, $action );
- $posted(required)
- .
- $action(string) (required)
'create'to add shipping or'update'to update it.
WC_REST_Orders_V1_Controller::prepare_shipping_lines() WC REST Orders V1 Controller::prepare shipping lines code WC 10.8.1
protected function prepare_shipping_lines( $posted, $action ) {
$item = new WC_Order_Item_Shipping( ! empty( $posted['id'] ) ? $posted['id'] : '' );
if ( 'create' === $action ) {
if ( empty( $posted['method_id'] ) ) {
throw new WC_REST_Exception( 'woocommerce_rest_invalid_shipping_item', __( 'Shipping method ID is required.', 'woocommerce' ), 400 );
}
}
$this->maybe_set_item_props( $item, array( 'method_id', 'method_title', 'total' ), $posted );
return $item;
}