WP_REST_Taxonomies_Controller::get_item_schema()publicWP 4.7.0

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

Метод класса: WP_REST_Taxonomies_Controller{}

Хуков нет.

Возвращает

Массив. Item schema data.

Использование

$WP_REST_Taxonomies_Controller = new WP_REST_Taxonomies_Controller();
$WP_REST_Taxonomies_Controller->get_item_schema();

Список изменений

С версии 4.7.0 Введена.
С версии 5.0.0 The visibility property was added.
С версии 5.9.0 The rest_namespace property was added.

Код WP_REST_Taxonomies_Controller::get_item_schema() WP 6.4.3

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'      => 'taxonomy',
		'type'       => 'object',
		'properties' => array(
			'capabilities'   => array(
				'description' => __( 'All capabilities used by the taxonomy.' ),
				'type'        => 'object',
				'context'     => array( 'edit' ),
				'readonly'    => true,
			),
			'description'    => array(
				'description' => __( 'A human-readable description of the taxonomy.' ),
				'type'        => 'string',
				'context'     => array( 'view', 'edit' ),
				'readonly'    => true,
			),
			'hierarchical'   => array(
				'description' => __( 'Whether or not the taxonomy should have children.' ),
				'type'        => 'boolean',
				'context'     => array( 'view', 'edit' ),
				'readonly'    => true,
			),
			'labels'         => array(
				'description' => __( 'Human-readable labels for the taxonomy for various contexts.' ),
				'type'        => 'object',
				'context'     => array( 'edit' ),
				'readonly'    => true,
			),
			'name'           => array(
				'description' => __( 'The title for the taxonomy.' ),
				'type'        => 'string',
				'context'     => array( 'view', 'edit', 'embed' ),
				'readonly'    => true,
			),
			'slug'           => array(
				'description' => __( 'An alphanumeric identifier for the taxonomy.' ),
				'type'        => 'string',
				'context'     => array( 'view', 'edit', 'embed' ),
				'readonly'    => true,
			),
			'show_cloud'     => array(
				'description' => __( 'Whether or not the term cloud should be displayed.' ),
				'type'        => 'boolean',
				'context'     => array( 'edit' ),
				'readonly'    => true,
			),
			'types'          => array(
				'description' => __( 'Types associated with the taxonomy.' ),
				'type'        => 'array',
				'items'       => array(
					'type' => 'string',
				),
				'context'     => array( 'view', 'edit' ),
				'readonly'    => true,
			),
			'rest_base'      => array(
				'description' => __( 'REST base route for the taxonomy.' ),
				'type'        => 'string',
				'context'     => array( 'view', 'edit', 'embed' ),
				'readonly'    => true,
			),
			'rest_namespace' => array(
				'description' => __( 'REST namespace route for the taxonomy.' ),
				'type'        => 'string',
				'context'     => array( 'view', 'edit', 'embed' ),
				'readonly'    => true,
			),
			'visibility'     => array(
				'description' => __( 'The visibility settings for the taxonomy.' ),
				'type'        => 'object',
				'context'     => array( 'edit' ),
				'readonly'    => true,
				'properties'  => array(
					'public'             => array(
						'description' => __( 'Whether a taxonomy is intended for use publicly either via the admin interface or by front-end users.' ),
						'type'        => 'boolean',
					),
					'publicly_queryable' => array(
						'description' => __( 'Whether the taxonomy is publicly queryable.' ),
						'type'        => 'boolean',
					),
					'show_ui'            => array(
						'description' => __( 'Whether to generate a default UI for managing this taxonomy.' ),
						'type'        => 'boolean',
					),
					'show_admin_column'  => array(
						'description' => __( 'Whether to allow automatic creation of taxonomy columns on associated post-types table.' ),
						'type'        => 'boolean',
					),
					'show_in_nav_menus'  => array(
						'description' => __( 'Whether to make the taxonomy available for selection in navigation menus.' ),
						'type'        => 'boolean',
					),
					'show_in_quick_edit' => array(
						'description' => __( 'Whether to show the taxonomy in the quick/bulk edit panel.' ),
						'type'        => 'boolean',
					),

				),
			),
		),
	);

	$this->schema = $schema;

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