WC_REST_Orders_V1_Controller::update_order() protected WC 1.0
Update order.
{} It's a method of the class: WC_REST_Orders_V1_Controller{}
No Hooks.
Return
Int|WP_Error.
Usage
// protected - for code of main (parent) or child class $result = $this->update_order( $request );
- $request(WP_REST_Request) (required)
- Full details about the request.
Code of WC_REST_Orders_V1_Controller::update_order() WC REST Orders V1 Controller::update order WC 5.0.0
protected function update_order( $request ) {
try {
$order = $this->prepare_item_for_database( $request );
$order->save();
// Handle set paid.
if ( $order->needs_payment() && true === $request['set_paid'] ) {
$order->payment_complete( $request['transaction_id'] );
}
// If items have changed, recalculate order totals.
if ( isset( $request['billing'] ) || isset( $request['shipping'] ) || isset( $request['line_items'] ) || isset( $request['shipping_lines'] ) || isset( $request['fee_lines'] ) || isset( $request['coupon_lines'] ) ) {
$order->calculate_totals( true );
}
return $order->get_id();
} catch ( WC_Data_Exception $e ) {
return new WP_Error( $e->getErrorCode(), $e->getMessage(), $e->getErrorData() );
} catch ( WC_REST_Exception $e ) {
return new WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) );
}
}