LLMS_REST_Controller::update_item( WP_REST_Request $request )
Update item.
Parameters Parameters
- $request
-
(WP_REST_Request) (Required) Request object.
Return Return
(WP_REST_Response|WP_Error) Response object or WP_Error on failure.
Source Source
File: libraries/lifterlms-rest/includes/abstracts/class-llms-rest-controller.php
public function update_item( $request ) {
$object = $this->get_object( $request['id'] );
if ( is_wp_error( $object ) ) {
return $object;
}
$schema = $this->get_item_schema();
$item = $this->prepare_item_for_database( $request );
// Exclude additional fields registered via `register_rest_field()`.
$item = array_diff_key( $item, $this->get_additional_fields() );
$object = $this->update_object( $item, $request );
if ( is_wp_error( $object ) ) {
return $object;
}
$this->object_inserted( $object, $request, $schema, false );
// Registered via `register_meta()`.
$meta_update = $this->update_meta( $object, $request, $schema );
if ( is_wp_error( $meta_update ) ) {
return $meta_update;
}
// Registered via `register_rest_field()`.
$fields_update = $this->update_additional_fields_for_object( $object, $request );
if ( is_wp_error( $fields_update ) ) {
return $fields_update;
}
$this->object_completely_inserted( $object, $request, $schema, false );
$request->set_param( 'context', 'edit' );
$response = $this->prepare_item_for_response( $object, $request );
return $response;
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0-beta.27 | Handle custom meta registered via register_meta() and custom rest fields registered via register_rest_field(). |
| 1.0.0-beta.12 | Call object_inserted and object_completely_inserted after an object is respectively inserted in the DB and all its additional fields have been updated as well (completely inserted). |
| 1.0.0-beta.1 | Introduced. |