WP_REST_Widgets_Controller::get_item_schema() – Retrieves the widget’s schema, conforming to JSON Schema.

You appear to be a bot. Output may be restricted

Description

Retrieves the widget's schema, conforming to JSON Schema.

Usage

$array = WP_REST_Widgets_Controller::get_item_schema();

Parameters

Returns

array Item schema data.

Source

File name: wordpress/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php


Lines:

1 to 80 of 80
  public function get_item_schema() {
    if ( $this->schema ) {
      return $this->add_additional_fields_schema( $this->schema );
    }

    $this->schema = array(
      '$schema'    => 'http://json-schema.org/draft-04/schema#',
      'title'      => 'widget',
      'type'       => 'object',
      'properties' => array(
        'id'            => array(
          'description' => __( 'Unique identifier for the widget.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'id_base'       => array(
          'description' => __( 'The type of the widget. Corresponds to ID in widget-types endpoint.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'sidebar'       => array(
          'description' => __( 'The sidebar the widget belongs to.' ),
          'type'        => 'string',
          'default'     => 'wp_inactive_widgets',
          'required'    => true,
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'rendered'      => array(
          'description' => __( 'HTML representation of the widget.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
          'readonly'    => true,
        ),
        'rendered_form' => array(
          'description' => __( 'HTML representation of the widget admin form.' ),
          'type'        => 'string',
          'context'     => array( 'edit' ),
          'readonly'    => true,
        ),
        'instance'      => array(
          'description' => __( 'Instance settings of the widget, if supported.' ),
          'type'        => 'object',
          'context'     => array( 'edit' ),
          'default'     => null,
          'properties'  => array(
            'encoded' => array(
              'description' => __( 'Base64 encoded representation of the instance settings.' ),
              'type'        => 'string',
              'context'     => array( 'edit' ),
            ),
            'hash'    => array(
              'description' => __( 'Cryptographic hash of the instance settings.' ),
              'type'        => 'string',
              'context'     => array( 'edit' ),
            ),
            'raw'     => array(
              'description' => __( 'Unencoded instance settings, if supported.' ),
              'type'        => 'object',
              'context'     => array( 'edit' ),
            ),
          ),
        ),
        'form_data'     => array(
          'description' => __( 'URL-encoded form data from the widget admin form. Used to update a widget that does not support instance. Write only.' ),
          'type'        => 'string',
          'context'     => array(),
          'arg_options' => array(
            'sanitize_callback' => static function( $form_data ) {
              $array = array();
              wp_parse_str( $form_data, $array );
              return $array;
            },
          ),
        ),
      ),
    );

    return $this->add_additional_fields_schema( $this->schema );
  }
 

 View on GitHub View on Trac