diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-block-renderer-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-block-renderer-controller.php index 3388078d05..07a389e794 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-block-renderer-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-block-renderer-controller.php @@ -70,6 +70,22 @@ class WP_REST_Block_Renderer_Controller extends WP_REST_Controller { return rest_validate_value_from_schema( $value, $schema ); }, + 'sanitize_callback' => static function ( $value, $request ) { + $block = WP_Block_Type_Registry::get_instance()->get_registered( $request['name'] ); + + if ( ! $block ) { + // This will get rejected in ::get_item(). + return true; + } + + $schema = array( + 'type' => 'object', + 'properties' => $block->get_attributes(), + 'additionalProperties' => false, + ); + + return rest_sanitize_value_from_schema( $value, $schema ); + }, ), 'post_id' => array( 'description' => __( 'ID of the post context.' ), diff --git a/wp-includes/version.php b/wp-includes/version.php index d4286b9069..ba51c17733 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.5-beta1-48436'; +$wp_version = '5.5-beta1-48437'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.