WP_REST_Post_Types_Controller::get_item_schema() – Retrieves the post type’s schema, conforming to JSON Schema.

You appear to be a bot. Output may be restricted

Description

Retrieves the post type's schema, conforming to JSON Schema.

Usage

$array = WP_REST_Post_Types_Controller::get_item_schema();

Parameters

Returns

array Item schema data.

Source

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


Lines:

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

    $schema = array(
      '$schema'    => 'http://json-schema.org/draft-04/schema#',
      'title'      => 'type',
      'type'       => 'object',
      'properties' => array(
        'capabilities'   => array(
          'description' => __( 'All capabilities used by the post type.' ),
          'type'        => 'object',
          'context'     => array( 'edit' ),
          'readonly'    => true,
        ),
        'description'    => array(
          'description' => __( 'A human-readable description of the post type.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit' ),
          'readonly'    => true,
        ),
        'hierarchical'   => array(
          'description' => __( 'Whether or not the post type should have children.' ),
          'type'        => 'boolean',
          'context'     => array( 'view', 'edit' ),
          'readonly'    => true,
        ),
        'viewable'       => array(
          'description' => __( 'Whether or not the post type can be viewed.' ),
          'type'        => 'boolean',
          'context'     => array( 'edit' ),
          'readonly'    => true,
        ),
        'labels'         => array(
          'description' => __( 'Human-readable labels for the post type for various contexts.' ),
          'type'        => 'object',
          'context'     => array( 'edit' ),
          'readonly'    => true,
        ),
        'name'           => array(
          'description' => __( 'The title for the post type.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
          'readonly'    => true,
        ),
        'slug'           => array(
          'description' => __( 'An alphanumeric identifier for the post type.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
          'readonly'    => true,
        ),
        'supports'       => array(
          'description' => __( 'All features, supported by the post type.' ),
          'type'        => 'object',
          'context'     => array( 'edit' ),
          'readonly'    => true,
        ),
        'taxonomies'     => array(
          'description' => __( 'Taxonomies associated with post type.' ),
          'type'        => 'array',
          'items'       => array(
            'type' => 'string',
          ),
          'context'     => array( 'view', 'edit' ),
          'readonly'    => true,
        ),
        'rest_base'      => array(
          'description' => __( 'REST base route for the post type.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
          'readonly'    => true,
        ),
        'rest_namespace' => array(
          'description' => __( 'REST route\'s namespace for the post type.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
          'readonly'    => true,
        ),
        'visibility'     => array(
          'description' => __( 'The visibility settings for the post type.' ),
          'type'        => 'object',
          'context'     => array( 'edit' ),
          'readonly'    => true,
          'properties'  => array(
            'show_ui'           => array(
              'description' => __( 'Whether to generate a default UI for managing this post type.' ),
              'type'        => 'boolean',
            ),
            'show_in_nav_menus' => array(
              'description' => __( 'Whether to make the post type available for selection in navigation menus.' ),
              'type'        => 'boolean',
            ),
          ),
        ),
      ),
    );

    $this->schema = $schema;

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

 View on GitHub View on Trac