WC_REST_CRUD_Controller::save_object
Save an object data.
Method of the class: WC_REST_CRUD_Controller{}
No Hooks.
Returns
WC_Data|WP_Error.
Usage
// protected - for code of main (parent) or child class $result = $this->save_object( $request, $creating );
- $request(WP_REST_Request) (required)
- Full details about the request.
- $creating(true|false)
- If is creating a new object.
Default:false
Changelog
| Since 3.0.0 | Introduced. |
WC_REST_CRUD_Controller::save_object() WC REST CRUD Controller::save object code WC 10.5.0
protected function save_object( $request, $creating = false ) {
try {
$object = $this->prepare_object_for_database( $request, $creating );
if ( is_wp_error( $object ) ) {
return $object;
}
try {
$object->save();
} catch ( Exception $e ) {
$error = "woocommerce_rest_{$this->post_type}_not_created";
wc_get_logger()->error(
$e->getMessage(),
array(
'source' => 'woocommerce-rest-api',
'error' => $error,
'code' => 400,
)
);
return new WP_Error( $error, $e->getMessage(), array( 'status' => 400 ) );
}
return $this->get_object( $object->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() ) );
}
}