Title: WP_Widget_Media_Video::get_instance_schema
Published: June 15, 2017
Last modified: May 20, 2026

---

# WP_Widget_Media_Video::get_instance_schema(): array

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#see-also)
 * [Return](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#wp--skip-link--target)

Get schema for properties of a widget instance (item).

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#see-also)󠁿

 * [WP_REST_Controller::get_item_schema()](https://developer.wordpress.org/reference/classes/WP_REST_Controller/get_item_schema/)
 * [WP_REST_Controller::get_additional_fields()](https://developer.wordpress.org/reference/classes/WP_REST_Controller/get_additional_fields/)

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#return)󠁿

 array Schema for properties.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#source)󠁿

    ```php
    public function get_instance_schema() {

    	$schema = array(
    		'preload' => array(
    			'type'                  => 'string',
    			'enum'                  => array( 'none', 'auto', 'metadata' ),
    			'default'               => 'metadata',
    			'description'           => __( 'Preload' ),
    			'should_preview_update' => false,
    		),
    		'loop'    => array(
    			'type'                  => 'boolean',
    			'default'               => false,
    			'description'           => __( 'Loop' ),
    			'should_preview_update' => false,
    		),
    		'content' => array(
    			'type'                  => 'string',
    			'default'               => '',
    			'sanitize_callback'     => 'wp_kses_post',
    			'description'           => __( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ),
    			'should_preview_update' => false,
    		),
    	);

    	foreach ( wp_get_video_extensions() as $video_extension ) {
    		$schema[ $video_extension ] = array(
    			'type'        => 'string',
    			'default'     => '',
    			'format'      => 'uri',
    			/* translators: %s: Video extension. */
    			'description' => sprintf( __( 'URL to the %s video source file' ), $video_extension ),
    		);
    	}

    	return array_merge( $schema, parent::get_instance_schema() );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/widgets/class-wp-widget-media-video.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/widgets/class-wp-widget-media-video.php#L67)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/widgets/class-wp-widget-media-video.php#L67-L103)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_Widget_Media::get_instance_schema()](https://developer.wordpress.org/reference/classes/wp_widget_media/get_instance_schema/)`wp-includes/widgets/class-wp-widget-media.php` |

Get schema for properties of a widget instance (item).

  | 
| [wp_get_video_extensions()](https://developer.wordpress.org/reference/functions/wp_get_video_extensions/)`wp-includes/media.php` |

Returns a filtered list of supported video formats.

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  |

[Show 1 more](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#)

| Used by | Description | 
| [WP_Widget_Media_Video::enqueue_admin_scripts()](https://developer.wordpress.org/reference/classes/wp_widget_media_video/enqueue_admin_scripts/)`wp-includes/widgets/class-wp-widget-media-video.php` |

Loads the required scripts and styles for the widget control.

  | 
| [WP_Widget_Media_Video::render_media()](https://developer.wordpress.org/reference/classes/wp_widget_media_video/render_media/)`wp-includes/widgets/class-wp-widget-media-video.php` |

Render the media on the frontend.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_widget_media_video/get_instance_schema/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.8.0](https://developer.wordpress.org/reference/since/4.8.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_widget_media_video%2Fget_instance_schema%2F)
before being able to contribute a note or feedback.