WordPress.org

Make WordPress Core

Changeset 50994


Ignore:
Timestamp:
05/25/2021 08:21:03 AM (8 months ago)
Author:
noisysocks
Message:

REST API: Revert widget endpoints

Reverts [50993] as it has missing props.

Reverts [50993].
See #41683.

Location:
trunk
Files:
7 deleted
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-widget-factory.php

    r50993 r50994  
    103103        }
    104104    }
    105 
    106     /**
    107      * Returns the registered WP_Widget object for the given widget type.
    108      *
    109      * @since 5.8.0
    110      *
    111      * @param string $id_base Widget type ID.
    112      * @return WP_Widget|null
    113      */
    114     public function get_widget_object( $id_base ) {
    115         foreach ( $this->widgets as $widget_object ) {
    116             if ( $widget_object->id_base === $id_base ) {
    117                 return $widget_object;
    118             }
    119         }
    120 
    121         return null;
    122     }
    123105}
  • trunk/src/wp-includes/default-widgets.php

    r50993 r50994  
    6464/** WP_Widget_Custom_HTML class */
    6565require_once ABSPATH . WPINC . '/widgets/class-wp-widget-custom-html.php';
    66 
    67 /** WP_Widget_Block class */
    68 require_once ABSPATH . WPINC . '/widgets/class-wp-widget-block.php';
  • trunk/src/wp-includes/rest-api.php

    r50993 r50994  
    312312    // Plugins.
    313313    $controller = new WP_REST_Plugins_Controller();
    314     $controller->register_routes();
    315 
    316     // Sidebars.
    317     $controller = new WP_REST_Sidebars_Controller();
    318     $controller->register_routes();
    319 
    320     // Widget Types.
    321     $controller = new WP_REST_Widget_Types_Controller();
    322     $controller->register_routes();
    323 
    324     // Widgets.
    325     $controller = new WP_REST_Widgets_Controller();
    326314    $controller->register_routes();
    327315
  • trunk/src/wp-includes/widgets.php

    r50993 r50994  
    358358 * @since 5.3.0 Formalized the existing and already documented `...$params` parameter
    359359 *              by adding it to the function signature.
    360  * @since 5.8.0 Added show_instance_in_rest option.
    361360 *
    362361 * @global array $wp_registered_widgets            Uses stored registered widgets.
     
    371370 *     Optional. An array of supplementary widget options for the instance.
    372371 *
    373  *     @type string $classname             Class name for the widget's HTML container. Default is a shortened
    374  *                                         version of the output callback name.
    375  *     @type string $description           Widget description for display in the widget administration
    376  *                                         panel and/or theme.
    377  *     @type bool   $show_instance_in_rest Whether to show the widget's instance settings in the REST API.
    378  *                                         Only available for WP_Widget based widgets.
     372 *     @type string $classname   Class name for the widget's HTML container. Default is a shortened
     373 *                               version of the output callback name.
     374 *     @type string $description Widget description for display in the widget administration
     375 *                               panel and/or theme.
    379376 * }
    380377 * @param mixed      ...$params       Optional additional parameters to pass to the callback function when it's called.
     
    18001797    register_widget( 'WP_Widget_Custom_HTML' );
    18011798
    1802     register_widget( 'WP_Widget_Block' );
    1803 
    18041799    /**
    18051800     * Fires after all default WordPress widgets have been registered.
     
    18091804    do_action( 'widgets_init' );
    18101805}
    1811 
    1812 /**
    1813  * Converts a widget ID into its id_base and number components.
    1814  *
    1815  * @since 5.8.0
    1816  *
    1817  * @param string $id Widget ID.
    1818  * @return array Array containing a widget's id_base and number components.
    1819  */
    1820 function wp_parse_widget_id( $id ) {
    1821     $parsed = array();
    1822 
    1823     if ( preg_match( '/^(.+)-(\d+)$/', $id, $matches ) ) {
    1824         $parsed['id_base'] = $matches[1];
    1825         $parsed['number']  = (int) $matches[2];
    1826     } else {
    1827         // Likely an old single widget.
    1828         $parsed['id_base'] = $id;
    1829     }
    1830 
    1831     return $parsed;
    1832 }
    1833 
    1834 /**
    1835  * Finds the sidebar that a given widget belongs to.
    1836  *
    1837  * @since 5.8.0
    1838  *
    1839  * @param string $widget_id The widget id to look for.
    1840  * @return string|null The found sidebar's id, or null if it was not found.
    1841  */
    1842 function wp_find_widgets_sidebar( $widget_id ) {
    1843     foreach ( wp_get_sidebars_widgets() as $sidebar_id => $widget_ids ) {
    1844         foreach ( $widget_ids as $maybe_widget_id ) {
    1845             if ( $maybe_widget_id === $widget_id ) {
    1846                 return (string) $sidebar_id;
    1847             }
    1848         }
    1849     }
    1850 
    1851     return null;
    1852 }
    1853 
    1854 /**
    1855  * Assigns a widget to the given sidebar.
    1856  *
    1857  * @since 5.8.0
    1858  *
    1859  * @param string $widget_id  The widget id to assign.
    1860  * @param string $sidebar_id The sidebar id to assign to. If empty, the widget won't be added to any sidebar.
    1861  */
    1862 function wp_assign_widget_to_sidebar( $widget_id, $sidebar_id ) {
    1863     $sidebars = wp_get_sidebars_widgets();
    1864 
    1865     foreach ( $sidebars as $maybe_sidebar_id => $widgets ) {
    1866         foreach ( $widgets as $i => $maybe_widget_id ) {
    1867             if ( $widget_id === $maybe_widget_id && $sidebar_id !== $maybe_sidebar_id ) {
    1868                 unset( $sidebars[ $maybe_sidebar_id ][ $i ] );
    1869                 // We could technically break 2 here, but continue looping in case the id is duplicated.
    1870                 continue 2;
    1871             }
    1872         }
    1873     }
    1874 
    1875     if ( $sidebar_id ) {
    1876         $sidebars[ $sidebar_id ][] = $widget_id;
    1877     }
    1878 
    1879     wp_set_sidebars_widgets( $sidebars );
    1880 }
    1881 
    1882 /**
    1883  * Calls the render callback of a widget and returns the output.
    1884  *
    1885  * @since 5.8.0
    1886  *
    1887  * @param string $widget_id Widget ID.
    1888  * @param string $sidebar_id Sidebar ID.
    1889  * @return string
    1890  */
    1891 function wp_render_widget( $widget_id, $sidebar_id ) {
    1892     global $wp_registered_widgets, $wp_registered_sidebars;
    1893 
    1894     if ( ! isset( $wp_registered_widgets[ $widget_id ] ) ) {
    1895         return '';
    1896     }
    1897 
    1898     if ( isset( $wp_registered_sidebars[ $sidebar_id ] ) ) {
    1899         $sidebar = $wp_registered_sidebars[ $sidebar_id ];
    1900     } elseif ( 'wp_inactive_widgets' === $sidebar_id ) {
    1901         $sidebar = array();
    1902     } else {
    1903         return '';
    1904     }
    1905 
    1906     $params = array_merge(
    1907         array(
    1908             array_merge(
    1909                 $sidebar,
    1910                 array(
    1911                     'widget_id'   => $widget_id,
    1912                     'widget_name' => $wp_registered_widgets[ $widget_id ]['name'],
    1913                 )
    1914             ),
    1915         ),
    1916         (array) $wp_registered_widgets[ $widget_id ]['params']
    1917     );
    1918 
    1919     // Substitute HTML `id` and `class` attributes into `before_widget`.
    1920     $classname_ = '';
    1921     foreach ( (array) $wp_registered_widgets[ $widget_id ]['classname'] as $cn ) {
    1922         if ( is_string( $cn ) ) {
    1923             $classname_ .= '_' . $cn;
    1924         } elseif ( is_object( $cn ) ) {
    1925             $classname_ .= '_' . get_class( $cn );
    1926         }
    1927     }
    1928     $classname_                 = ltrim( $classname_, '_' );
    1929     $params[0]['before_widget'] = sprintf( $params[0]['before_widget'], $widget_id, $classname_ );
    1930 
    1931     /** This filter is documented in wp-includes/widgets.php */
    1932     $params = apply_filters( 'dynamic_sidebar_params', $params );
    1933 
    1934     $callback = $wp_registered_widgets[ $widget_id ]['callback'];
    1935 
    1936     ob_start();
    1937 
    1938     /** This filter is documented in wp-includes/widgets.php */
    1939     do_action( 'dynamic_sidebar', $wp_registered_widgets[ $widget_id ] );
    1940 
    1941     if ( is_callable( $callback ) ) {
    1942         call_user_func_array( $callback, $params );
    1943     }
    1944 
    1945     return ob_get_clean();
    1946 }
    1947 
    1948 /**
    1949  * Calls the control callback of a widget and returns the output.
    1950  *
    1951  * @since 5.8.0
    1952  *
    1953  * @param string $id Widget ID.
    1954  * @return string|null
    1955  */
    1956 function wp_render_widget_control( $id ) {
    1957     global $wp_registered_widget_controls;
    1958 
    1959     if ( ! isset( $wp_registered_widget_controls[ $id ]['callback'] ) ) {
    1960         return null;
    1961     }
    1962 
    1963     $callback = $wp_registered_widget_controls[ $id ]['callback'];
    1964     $params   = $wp_registered_widget_controls[ $id ]['params'];
    1965 
    1966     ob_start();
    1967 
    1968     if ( is_callable( $callback ) ) {
    1969         call_user_func_array( $callback, $params );
    1970     }
    1971 
    1972     return ob_get_clean();
    1973 }
  • trunk/src/wp-includes/widgets/class-wp-nav-menu-widget.php

    r50993 r50994  
    2626            'description'                 => __( 'Add a navigation menu to your sidebar.' ),
    2727            'customize_selective_refresh' => true,
    28             'show_instance_in_rest'       => true,
    2928        );
    3029        parent::__construct( 'nav_menu', __( 'Navigation Menu' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-archives.php

    r50993 r50994  
    2727            'description'                 => __( 'A monthly archive of your site’s Posts.' ),
    2828            'customize_selective_refresh' => true,
    29             'show_instance_in_rest'       => true,
    3029        );
    3130        parent::__construct( 'archives', __( 'Archives' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-calendar.php

    r50993 r50994  
    3434            'description'                 => __( 'A calendar of your site’s posts.' ),
    3535            'customize_selective_refresh' => true,
    36             'show_instance_in_rest'       => true,
    3736        );
    3837        parent::__construct( 'calendar', __( 'Calendar' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-categories.php

    r50993 r50994  
    2727            'description'                 => __( 'A list or dropdown of categories.' ),
    2828            'customize_selective_refresh' => true,
    29             'show_instance_in_rest'       => true,
    3029        );
    3130        parent::__construct( 'categories', __( 'Categories' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-custom-html.php

    r50993 r50994  
    4646            'description'                 => __( 'Arbitrary HTML code.' ),
    4747            'customize_selective_refresh' => true,
    48             'show_instance_in_rest'       => true,
    4948        );
    5049        $control_ops = array(
  • trunk/src/wp-includes/widgets/class-wp-widget-media.php

    r50993 r50994  
    6060                'description'                 => __( 'A media item.' ),
    6161                'customize_selective_refresh' => true,
    62                 'show_instance_in_rest'       => true,
    6362                'mime_type'                   => '',
    6463            )
  • trunk/src/wp-includes/widgets/class-wp-widget-meta.php

    r50993 r50994  
    2929            'description'                 => __( 'Login, RSS, & WordPress.org links.' ),
    3030            'customize_selective_refresh' => true,
    31             'show_instance_in_rest'       => true,
    3231        );
    3332        parent::__construct( 'meta', __( 'Meta' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-pages.php

    r50993 r50994  
    2727            'description'                 => __( 'A list of your site’s Pages.' ),
    2828            'customize_selective_refresh' => true,
    29             'show_instance_in_rest'       => true,
    3029        );
    3130        parent::__construct( 'pages', __( 'Pages' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-recent-comments.php

    r50993 r50994  
    2727            'description'                 => __( 'Your site’s most recent comments.' ),
    2828            'customize_selective_refresh' => true,
    29             'show_instance_in_rest'       => true,
    3029        );
    3130        parent::__construct( 'recent-comments', __( 'Recent Comments' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-recent-posts.php

    r50993 r50994  
    2727            'description'                 => __( 'Your site’s most recent Posts.' ),
    2828            'customize_selective_refresh' => true,
    29             'show_instance_in_rest'       => true,
    3029        );
    3130        parent::__construct( 'recent-posts', __( 'Recent Posts' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-rss.php

    r50993 r50994  
    2626            'description'                 => __( 'Entries from any RSS or Atom feed.' ),
    2727            'customize_selective_refresh' => true,
    28             'show_instance_in_rest'       => true,
    29 
    3028        );
    3129        $control_ops = array(
  • trunk/src/wp-includes/widgets/class-wp-widget-search.php

    r50993 r50994  
    2727            'description'                 => __( 'A search form for your site.' ),
    2828            'customize_selective_refresh' => true,
    29             'show_instance_in_rest'       => true,
    3029        );
    3130        parent::__construct( 'search', _x( 'Search', 'Search widget' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-tag-cloud.php

    r50993 r50994  
    2626            'description'                 => __( 'A cloud of your most used tags.' ),
    2727            'customize_selective_refresh' => true,
    28             'show_instance_in_rest'       => true,
    2928        );
    3029        parent::__construct( 'tag_cloud', __( 'Tag Cloud' ), $widget_ops );
  • trunk/src/wp-includes/widgets/class-wp-widget-text.php

    r50993 r50994  
    3535            'description'                 => __( 'Arbitrary text.' ),
    3636            'customize_selective_refresh' => true,
    37             'show_instance_in_rest'       => true,
    3837        );
    3938        $control_ops = array(
  • trunk/src/wp-settings.php

    r50993 r50994  
    266266require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-application-passwords-controller.php';
    267267require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-site-health-controller.php';
    268 require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-sidebars-controller.php';
    269 require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widget-types-controller.php';
    270 require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widgets-controller.php';
    271268require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-meta-fields.php';
    272269require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-comment-meta-fields.php';
  • trunk/tests/phpunit/tests/rest-api/rest-schema-setup.php

    r50993 r50994  
    135135            '/wp/v2/plugins/(?P<plugin>[^.\/]+(?:\/[^.\/]+)?)',
    136136            '/wp/v2/block-directory/search',
    137             '/wp/v2/sidebars',
    138             '/wp/v2/sidebars/(?P<id>[\w-]+)',
    139             '/wp/v2/widget-types',
    140             '/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)',
    141             '/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)/encode',
    142             '/wp/v2/widgets',
    143             '/wp/v2/widgets/(?P<id>[\w\-]+)',
    144137            '/wp-site-health/v1',
    145138            '/wp-site-health/v1/tests/background-updates',
  • trunk/tests/qunit/fixtures/wp-api-generated.js

    r50993 r50994  
    64176417            ]
    64186418        },
    6419         "/wp/v2/sidebars": {
    6420             "namespace": "wp/v2",
    6421             "methods": [
    6422                 "GET"
    6423             ],
    6424             "endpoints": [
    6425                 {
    6426                     "methods": [
    6427                         "GET"
    6428                     ],
    6429                     "args": {
    6430                         "context": {
    6431                             "description": "Scope under which the request is made; determines fields present in response.",
    6432                             "type": "string",
    6433                             "enum": [
    6434                                 "view",
    6435                                 "embed",
    6436                                 "edit"
    6437                             ],
    6438                             "default": "view",
    6439                             "required": false
    6440                         }
    6441                     }
    6442                 }
    6443             ],
    6444             "_links": {
    6445                 "self": [
    6446                     {
    6447                         "href": "http://example.org/index.php?rest_route=/wp/v2/sidebars"
    6448                     }
    6449                 ]
    6450             }
    6451         },
    6452         "/wp/v2/sidebars/(?P<id>[\\w-]+)": {
    6453             "namespace": "wp/v2",
    6454             "methods": [
    6455                 "GET",
    6456                 "POST",
    6457                 "PUT",
    6458                 "PATCH"
    6459             ],
    6460             "endpoints": [
    6461                 {
    6462                     "methods": [
    6463                         "GET"
    6464                     ],
    6465                     "args": {
    6466                         "id": {
    6467                             "description": "The id of a registered sidebar",
    6468                             "type": "string",
    6469                             "required": false
    6470                         },
    6471                         "context": {
    6472                             "description": "Scope under which the request is made; determines fields present in response.",
    6473                             "type": "string",
    6474                             "enum": [
    6475                                 "view",
    6476                                 "embed",
    6477                                 "edit"
    6478                             ],
    6479                             "default": "view",
    6480                             "required": false
    6481                         }
    6482                     }
    6483                 },
    6484                 {
    6485                     "methods": [
    6486                         "POST",
    6487                         "PUT",
    6488                         "PATCH"
    6489                     ],
    6490                     "args": {
    6491                         "widgets": {
    6492                             "description": "Nested widgets.",
    6493                             "type": "array",
    6494                             "items": {
    6495                                 "type": [
    6496                                     "object",
    6497                                     "string"
    6498                                 ]
    6499                             },
    6500                             "required": false
    6501                         }
    6502                     }
    6503                 }
    6504             ]
    6505         },
    6506         "/wp/v2/widget-types": {
    6507             "namespace": "wp/v2",
    6508             "methods": [
    6509                 "GET"
    6510             ],
    6511             "endpoints": [
    6512                 {
    6513                     "methods": [
    6514                         "GET"
    6515                     ],
    6516                     "args": {
    6517                         "context": {
    6518                             "description": "Scope under which the request is made; determines fields present in response.",
    6519                             "type": "string",
    6520                             "enum": [
    6521                                 "view",
    6522                                 "embed",
    6523                                 "edit"
    6524                             ],
    6525                             "default": "view",
    6526                             "required": false
    6527                         }
    6528                     }
    6529                 }
    6530             ],
    6531             "_links": {
    6532                 "self": [
    6533                     {
    6534                         "href": "http://example.org/index.php?rest_route=/wp/v2/widget-types"
    6535                     }
    6536                 ]
    6537             }
    6538         },
    6539         "/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)": {
    6540             "namespace": "wp/v2",
    6541             "methods": [
    6542                 "GET"
    6543             ],
    6544             "endpoints": [
    6545                 {
    6546                     "methods": [
    6547                         "GET"
    6548                     ],
    6549                     "args": {
    6550                         "id": {
    6551                             "description": "The widget type id.",
    6552                             "type": "string",
    6553                             "required": false
    6554                         },
    6555                         "context": {
    6556                             "description": "Scope under which the request is made; determines fields present in response.",
    6557                             "type": "string",
    6558                             "enum": [
    6559                                 "view",
    6560                                 "embed",
    6561                                 "edit"
    6562                             ],
    6563                             "default": "view",
    6564                             "required": false
    6565                         }
    6566                     }
    6567                 }
    6568             ]
    6569         },
    6570         "/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)/encode": {
    6571             "namespace": "wp/v2",
    6572             "methods": [
    6573                 "POST"
    6574             ],
    6575             "endpoints": [
    6576                 {
    6577                     "methods": [
    6578                         "POST"
    6579                     ],
    6580                     "args": {
    6581                         "id": {
    6582                             "description": "The widget type id.",
    6583                             "type": "string",
    6584                             "required": true
    6585                         },
    6586                         "instance": {
    6587                             "description": "Current instance settings of the widget.",
    6588                             "type": "object",
    6589                             "required": false
    6590                         },
    6591                         "form_data": {
    6592                             "description": "Serialized widget form data to encode into instance settings.",
    6593                             "type": "string",
    6594                             "required": false
    6595                         }
    6596                     }
    6597                 }
    6598             ]
    6599         },
    6600         "/wp/v2/widgets": {
    6601             "namespace": "wp/v2",
    6602             "methods": [
    6603                 "GET",
    6604                 "POST"
    6605             ],
    6606             "endpoints": [
    6607                 {
    6608                     "methods": [
    6609                         "GET"
    6610                     ],
    6611                     "args": {
    6612                         "context": {
    6613                             "description": "Scope under which the request is made; determines fields present in response.",
    6614                             "type": "string",
    6615                             "enum": [
    6616                                 "view",
    6617                                 "embed",
    6618                                 "edit"
    6619                             ],
    6620                             "default": "view",
    6621                             "required": false
    6622                         },
    6623                         "sidebar": {
    6624                             "description": "The sidebar to return widgets for.",
    6625                             "type": "string",
    6626                             "required": false
    6627                         }
    6628                     }
    6629                 },
    6630                 {
    6631                     "methods": [
    6632                         "POST"
    6633                     ],
    6634                     "args": {
    6635                         "id": {
    6636                             "description": "Unique identifier for the widget.",
    6637                             "type": "string",
    6638                             "required": false
    6639                         },
    6640                         "id_base": {
    6641                             "description": "The type of the widget. Corresponds to ID in widget-types endpoint.",
    6642                             "type": "string",
    6643                             "required": false
    6644                         },
    6645                         "sidebar": {
    6646                             "default": "wp_inactive_widgets",
    6647                             "description": "The sidebar the widget belongs to.",
    6648                             "type": "string",
    6649                             "required": true
    6650                         },
    6651                         "instance": {
    6652                             "description": "Instance settings of the widget, if supported.",
    6653                             "type": "object",
    6654                             "properties": {
    6655                                 "encoded": {
    6656                                     "description": "Base64 encoded representation of the instance settings.",
    6657                                     "type": "string",
    6658                                     "context": [
    6659                                         "view",
    6660                                         "edit",
    6661                                         "embed"
    6662                                     ]
    6663                                 },
    6664                                 "hash": {
    6665                                     "description": "Cryptographic hash of the instance settings.",
    6666                                     "type": "string",
    6667                                     "context": [
    6668                                         "view",
    6669                                         "edit",
    6670                                         "embed"
    6671                                     ]
    6672                                 },
    6673                                 "raw": {
    6674                                     "description": "Unencoded instance settings, if supported.",
    6675                                     "type": "object",
    6676                                     "context": [
    6677                                         "view",
    6678                                         "edit",
    6679                                         "embed"
    6680                                     ]
    6681                                 }
    6682                             },
    6683                             "required": false
    6684                         },
    6685                         "form_data": {
    6686                             "description": "URL-encoded form data from the widget admin form. Used to update a widget that does not support instance. Write only.",
    6687                             "type": "string",
    6688                             "required": false
    6689                         }
    6690                     }
    6691                 }
    6692             ],
    6693             "_links": {
    6694                 "self": [
    6695                     {
    6696                         "href": "http://example.org/index.php?rest_route=/wp/v2/widgets"
    6697                     }
    6698                 ]
    6699             }
    6700         },
    6701         "/wp/v2/widgets/(?P<id>[\\w\\-]+)": {
    6702             "namespace": "wp/v2",
    6703             "methods": [
    6704                 "GET",
    6705                 "POST",
    6706                 "PUT",
    6707                 "PATCH",
    6708                 "DELETE"
    6709             ],
    6710             "endpoints": [
    6711                 {
    6712                     "methods": [
    6713                         "GET"
    6714                     ],
    6715                     "args": {
    6716                         "context": {
    6717                             "description": "Scope under which the request is made; determines fields present in response.",
    6718                             "type": "string",
    6719                             "enum": [
    6720                                 "view",
    6721                                 "embed",
    6722                                 "edit"
    6723                             ],
    6724                             "default": "view",
    6725                             "required": false
    6726                         }
    6727                     }
    6728                 },
    6729                 {
    6730                     "methods": [
    6731                         "POST",
    6732                         "PUT",
    6733                         "PATCH"
    6734                     ],
    6735                     "args": {
    6736                         "id": {
    6737                             "description": "Unique identifier for the widget.",
    6738                             "type": "string",
    6739                             "required": false
    6740                         },
    6741                         "id_base": {
    6742                             "description": "The type of the widget. Corresponds to ID in widget-types endpoint.",
    6743                             "type": "string",
    6744                             "required": false
    6745                         },
    6746                         "sidebar": {
    6747                             "description": "The sidebar the widget belongs to.",
    6748                             "type": "string",
    6749                             "required": false
    6750                         },
    6751                         "instance": {
    6752                             "description": "Instance settings of the widget, if supported.",
    6753                             "type": "object",
    6754                             "properties": {
    6755                                 "encoded": {
    6756                                     "description": "Base64 encoded representation of the instance settings.",
    6757                                     "type": "string",
    6758                                     "context": [
    6759                                         "view",
    6760                                         "edit",
    6761                                         "embed"
    6762                                     ]
    6763                                 },
    6764                                 "hash": {
    6765                                     "description": "Cryptographic hash of the instance settings.",
    6766                                     "type": "string",
    6767                                     "context": [
    6768                                         "view",
    6769                                         "edit",
    6770                                         "embed"
    6771                                     ]
    6772                                 },
    6773                                 "raw": {
    6774                                     "description": "Unencoded instance settings, if supported.",
    6775                                     "type": "object",
    6776                                     "context": [
    6777                                         "view",
    6778                                         "edit",
    6779                                         "embed"
    6780                                     ]
    6781                                 }
    6782                             },
    6783                             "required": false
    6784                         },
    6785                         "form_data": {
    6786                             "description": "URL-encoded form data from the widget admin form. Used to update a widget that does not support instance. Write only.",
    6787                             "type": "string",
    6788                             "required": false
    6789                         }
    6790                     }
    6791                 },
    6792                 {
    6793                     "methods": [
    6794                         "DELETE"
    6795                     ],
    6796                     "args": {
    6797                         "force": {
    6798                             "description": "Whether to force removal of the widget, or move it to the inactive sidebar.",
    6799                             "type": "boolean",
    6800                             "required": false
    6801                         }
    6802                     }
    6803                 }
    6804             ]
    6805         },
    68066419        "/wp/v2/block-directory/search": {
    68076420            "namespace": "wp/v2",
Note: See TracChangeset for help on using the changeset viewer.