--- a/wp/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php Thu Sep 29 08:06:27 2022 +0200
+++ b/wp/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php Fri Sep 05 18:40:08 2025 +0200
@@ -715,7 +715,7 @@
if ( ! empty( $widget_object->widget_options['show_instance_in_rest'] ) ) {
// Use new stdClass so that JSON result is {} and not [].
- $prepared['instance']['raw'] = empty( $instance ) ? new stdClass : $instance;
+ $prepared['instance']['raw'] = empty( $instance ) ? new stdClass() : $instance;
}
}
}
@@ -726,7 +726,9 @@
$response = rest_ensure_response( $prepared );
- $response->add_links( $this->prepare_links( $prepared ) );
+ if ( rest_is_field_included( '_links', $fields ) || rest_is_field_included( '_embedded', $fields ) ) {
+ $response->add_links( $this->prepare_links( $prepared ) );
+ }
/**
* Filters the REST API response for a widget.
@@ -859,9 +861,9 @@
'type' => 'string',
'context' => array(),
'arg_options' => array(
- 'sanitize_callback' => static function( $string ) {
+ 'sanitize_callback' => static function ( $form_data ) {
$array = array();
- wp_parse_str( $string, $array );
+ wp_parse_str( $form_data, $array );
return $array;
},
),