Updates a single post.
public update_item ( WP_REST_Request $request ) : WP_REST_Response | WP_Error | ||
$request | WP_REST_Request | Full details about the request. |
return | WP_REST_Response | WP_Error | Response object on success, or WP_Error object on failure. |
/** * Update a single post * * @param WP_REST_Request $request Full details about the request * @return WP_Error|WP_REST_Response */ public function update_item($request) { $response = parent::update_item($request); if (is_wp_error($response)) { return $response; } $response = rest_ensure_response($response); $data = $response->get_data(); if (isset($request['alt_text'])) { update_post_meta($data['id'], '_wp_attachment_image_alt', $request['alt_text']); } $response = $this->get_item(array('id' => $data['id'], 'context' => 'edit')); return rest_ensure_response($response); }
/** * Updates a single attachment. * * @since 4.7.0 * @access public * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response Response object on success, WP_Error object on failure. */ public function update_item($request) { if (!empty($request['post']) && in_array(get_post_type($request['post']), array('revision', 'attachment'), true)) { return new WP_Error('rest_invalid_param', __('Invalid parent type.'), array('status' => 400)); } $response = parent::update_item($request); if (is_wp_error($response)) { return $response; } $response = rest_ensure_response($response); $data = $response->get_data(); if (isset($request['alt_text'])) { update_post_meta($data['id'], '_wp_attachment_image_alt', $request['alt_text']); } $attachment = get_post($request['id']); /* This action is documented in wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php */ do_action('rest_insert_attachment', $data, $request, false); $fields_update = $this->update_additional_fields_for_object($attachment, $request); if (is_wp_error($fields_update)) { return $fields_update; } $request->set_param('context', 'edit'); $response = $this->prepare_item_for_response($attachment, $request); $response = rest_ensure_response($response); return $response; }
/** * Update a single post * * @param WP_REST_Request $request Full details about the request * @return WP_Error|WP_REST_Response */ public function update_item($request) { $response = parent::update_item($request); if (is_wp_error($response)) { return $response; } $response = rest_ensure_response($response); $data = $response->get_data(); if (isset($request['alt_text'])) { update_post_meta($data['id'], '_wp_attachment_image_alt', $request['alt_text']); } $response = $this->get_item(array('id' => $data['id'], 'context' => 'edit')); /* This action is documented in lib/endpoints/class-wp-rest-attachments-controller.php */ do_action('rest_insert_attachment', $data, $request, false); return rest_ensure_response($response); }