WP_REST_Block_Types_Controller::get_item_schema() – Retrieves the block type’ schema, conforming to JSON Schema.

You appear to be a bot. Output may be restricted

Description

Retrieves the block type' schema, conforming to JSON Schema.

Usage

$array = WP_REST_Block_Types_Controller::get_item_schema();

Parameters

Returns

array Item schema data.

Source

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


Lines:

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

    // rest_validate_value_from_schema doesn't understand $refs, pull out reused definitions for readability.
    $inner_blocks_definition = array(
      'description' => __( 'The list of inner blocks used in the example.' ),
      'type'        => 'array',
      'items'       => array(
        'type'       => 'object',
        'properties' => array(
          'name'        => array(
            'description' => __( 'The name of the inner block.' ),
            'type'        => 'string',
          ),
          'attributes'  => array(
            'description' => __( 'The attributes of the inner block.' ),
            'type'        => 'object',
          ),
          'innerBlocks' => array(
            'description' => __( "A list of the inner block's own inner blocks. This is a recursive definition following the parent innerBlocks schema." ),
            'type'        => 'array',
          ),
        ),
      ),
    );

    $example_definition = array(
      'description' => __( 'Block example.' ),
      'type'        => array( 'object', 'null' ),
      'default'     => null,
      'properties'  => array(
        'attributes'  => array(
          'description' => __( 'The attributes used in the example.' ),
          'type'        => 'object',
        ),
        'innerBlocks' => $inner_blocks_definition,
      ),
      'context'     => array( 'embed', 'view', 'edit' ),
      'readonly'    => true,
    );

    $keywords_definition = array(
      'description' => __( 'Block keywords.' ),
      'type'        => 'array',
      'items'       => array(
        'type' => 'string',
      ),
      'default'     => array(),
      'context'     => array( 'embed', 'view', 'edit' ),
      'readonly'    => true,
    );

    $icon_definition = array(
      'description' => __( 'Icon of block type.' ),
      'type'        => array( 'string', 'null' ),
      'default'     => null,
      'context'     => array( 'embed', 'view', 'edit' ),
      'readonly'    => true,
    );

    $category_definition = array(
      'description' => __( 'Block category.' ),
      'type'        => array( 'string', 'null' ),
      'default'     => null,
      'context'     => array( 'embed', 'view', 'edit' ),
      'readonly'    => true,
    );

    $schema = array(
      '$schema'    => 'http://json-schema.org/draft-04/schema#',
      'title'      => 'block-type',
      'type'       => 'object',
      'properties' => array(
        'api_version'      => array(
          'description' => __( 'Version of block API.' ),
          'type'        => 'integer',
          'default'     => 1,
          'context'     => array( 'embed', 'view', 'edit' ),
          'readonly'    => true,
        ),
        'title'            => array(
          'description' => __( 'Title of block type.' ),
          'type'        => 'string',
          'default'     => '',
          'context'     => array( 'embed', 'view', 'edit' ),
          'readonly'    => true,
        ),
        'name'             => array(
          'description' => __( 'Unique name identifying the block type.' ),
          'type'        => 'string',
          'default'     => '',
          'context'     => array( 'embed', 'view', 'edit' ),
          'readonly'    => true,
        ),
        'description'      => array(
          'description' => __( 'Description of block type.' ),
          'type'        => 'string',
          'default'     => '',

 View on GitHub View on Trac