Skip to content
Permalink
Browse files

REST API: Clarify arguments passed to rest route get & update callbacks.

Update doc block argument definitions to clarify that the REST API always passes an array to the `get_callback` and always passes an entity object to the `update_callback`.

Props TimothyBlynJacobs, salzano.
Fixes #44432.



git-svn-id: https://develop.svn.wordpress.org/trunk@45810 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information...
kadamwhite committed Aug 15, 2019
1 parent 80e44e4 commit 94b8a122c418c719c56a36efe6f02f34399ad024
Showing with 14 additions and 14 deletions.
  1. +8 −8 src/wp-includes/rest-api.php
  2. +6 −6 src/wp-includes/rest-api/endpoints/class-wp-rest-controller.php
@@ -102,14 +102,14 @@ function register_rest_route( $namespace, $route, $args = array(), $override = f
* @param array $args {
* Optional. An array of arguments used to handle the registered field.
*
* @type string|array|null $get_callback Optional. The callback function used to retrieve the field
* value. Default is 'null', the field will not be returned in
* the response.
* @type string|array|null $update_callback Optional. The callback function used to set and update the
* field value. Default is 'null', the value cannot be set or
* updated.
* @type string|array|null $schema Optional. The callback function used to create the schema for
* this field. Default is 'null', no schema entry will be returned.
* @type callable|null $get_callback Optional. The callback function used to retrieve the field value. Default is
* 'null', the field will not be returned in the response. The function will
* be passed the prepared object data.
* @type callable|null $update_callback Optional. The callback function used to set and update the field value. Default
* is 'null', the value cannot be set or updated. The function will be passed
* the model object, like WP_Post.
* @type array|null $schema Optional. The callback function used to create the schema for this field.
* Default is 'null', no schema entry will be returned.
* }
*/
function register_rest_field( $object_type, $attribute, $args = array() ) {
@@ -372,11 +372,11 @@ public function get_context_param( $args = array() ) {
*
* @since 4.7.0
*
* @param array $object Data object.
* @param WP_REST_Request $request Full details about the request.
* @param array $prepared Prepared response array.
* @param WP_REST_Request $request Full details about the request.
* @return array Modified data object with additional fields.
*/
protected function add_additional_fields_to_object( $object, $request ) {
protected function add_additional_fields_to_object( $prepared, $request ) {
$additional_fields = $this->get_additional_fields();
@@ -392,18 +392,18 @@ protected function add_additional_fields_to_object( $object, $request ) {
continue;
}
$object[ $field_name ] = call_user_func( $field_options['get_callback'], $object, $field_name, $request, $this->get_object_type() );
$prepared[ $field_name ] = call_user_func( $field_options['get_callback'], $prepared, $field_name, $request, $this->get_object_type() );
}
return $object;
return $prepared;
}
/**
* Updates the values of additional fields added to a data object.
*
* @since 4.7.0
*
* @param array $object Data Object.
* @param object $object Data model like WP_Term or WP_Post.
* @param WP_REST_Request $request Full details about the request.
* @return bool|WP_Error True on success, WP_Error object if a field cannot be updated.
*/

0 comments on commit 94b8a12

Please sign in to comment.
You can’t perform that action at this time.