Make WordPress Core


Ignore:
Timestamp:
06/28/2021 04:33:36 AM (4 years ago)
Author:
noisysocks
Message:

Widgets REST API: Fix non-multi widgets not appearing in wp_inactive_widgets

Registered widgets that do not extend WP_Widget should appear in the
wp_inactive_widgets sidebar by default. Having the widgets REST API call
retrieve_widgets() before serving any request ensures that this will happen.

This is a similar fix to [51235].

Fixes #53534.
Props zieladam, timothyblynjacobs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php

    r51239 r51248  
    110110     */
    111111    public function get_items( $request ) {
     112        retrieve_widgets();
     113
    112114        $prepared = array();
    113115
     
    150152     */
    151153    public function get_item( $request ) {
     154        retrieve_widgets();
     155
    152156        $widget_id  = $request['id'];
    153157        $sidebar_id = wp_find_widgets_sidebar( $widget_id );
     
    230234    public function update_item( $request ) {
    231235        global $wp_widget_factory;
     236
     237        retrieve_widgets();
    232238
    233239        $widget_id  = $request['id'];
     
    291297    public function delete_item( $request ) {
    292298        global $wp_registered_widget_updates;
     299
     300        retrieve_widgets();
    293301
    294302        $widget_id  = $request['id'];
Note: See TracChangeset for help on using the changeset viewer.