Title: WP_Widget_Media::get_instance_schema
Published: June 15, 2017
Last modified: August 20, 2026

---

# WP_Widget_Media::get_instance_schema(): array

## In this article

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

[ Back to top](https://developer.wordpress.org/reference/classes/wp_widget_media/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/get_instance_schema/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/classes/wp_widget_media/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/get_instance_schema/?output_format=md#return)󠁿

 array Schema for properties.

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

    ```php
    public function get_instance_schema() {
    	$schema = array(
    		'attachment_id' => array(
    			'type'        => 'integer',
    			'default'     => 0,
    			'minimum'     => 0,
    			'description' => __( 'Attachment post ID' ),
    			'media_prop'  => 'id',
    		),
    		'url'           => array(
    			'type'        => 'string',
    			'default'     => '',
    			'format'      => 'uri',
    			'description' => __( 'URL to the media file' ),
    		),
    		'title'         => array(
    			'type'                  => 'string',
    			'default'               => '',
    			'sanitize_callback'     => 'sanitize_text_field',
    			'description'           => __( 'Title for the widget' ),
    			'should_preview_update' => false,
    		),
    	);

    	/**
    	 * Filters the media widget instance schema to add additional properties.
    	 *
    	 * @since 4.9.0
    	 *
    	 * @param array           $schema Instance schema.
    	 * @param WP_Widget_Media $widget Widget object.
    	 */
    	$schema = apply_filters( "widget_{$this->id_base}_instance_schema", $schema, $this );

    	return $schema;
    }
    ```

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

## 󠀁[Hooks](https://developer.wordpress.org/reference/classes/wp_widget_media/get_instance_schema/?output_format=md#hooks)󠁿

 [apply_filters( “widget_{$this->id_base}_instance_schema”, array $schema, WP_Widget_Media $widget )](https://developer.wordpress.org/reference/hooks/widget_this-id_base_instance_schema/)

Filters the media widget instance schema to add additional properties.

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

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

Retrieves the translation of $text.

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

Calls the callback functions that have been added to a filter hook.

  |

| Used by | Description | 
| [WP_Widget_Media_Audio::get_instance_schema()](https://developer.wordpress.org/reference/classes/wp_widget_media_audio/get_instance_schema/)`wp-includes/widgets/class-wp-widget-media-audio.php` |

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

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

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

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

Outputs the settings update form.

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

Displays the widget on the front-end.

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

Sanitizes the widget form values as they are saved.

  | 
| [WP_Widget_Media_Image::get_instance_schema()](https://developer.wordpress.org/reference/classes/wp_widget_media_image/get_instance_schema/)`wp-includes/widgets/class-wp-widget-media-image.php` |

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

  |

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

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_widget_media/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%2Fget_instance_schema%2F)
before being able to contribute a note or feedback.