Title: WP_Widget_Media_Gallery::get_instance_schema
Published: November 20, 2017
Last modified: February 24, 2026

---

# WP_Widget_Media_Gallery::get_instance_schema(): array

## In this article

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

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

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

 array Schema for properties.

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

    ```php
    public function get_instance_schema() {
    	$schema = array(
    		'title'          => array(
    			'type'                  => 'string',
    			'default'               => '',
    			'sanitize_callback'     => 'sanitize_text_field',
    			'description'           => __( 'Title for the widget' ),
    			'should_preview_update' => false,
    		),
    		'ids'            => array(
    			'type'              => 'array',
    			'items'             => array(
    				'type' => 'integer',
    			),
    			'default'           => array(),
    			'sanitize_callback' => 'wp_parse_id_list',
    		),
    		'columns'        => array(
    			'type'    => 'integer',
    			'default' => 3,
    			'minimum' => 1,
    			'maximum' => 9,
    		),
    		'size'           => array(
    			'type'    => 'string',
    			'enum'    => array_merge( get_intermediate_image_sizes(), array( 'full', 'custom' ) ),
    			'default' => 'thumbnail',
    		),
    		'link_type'      => array(
    			'type'                  => 'string',
    			'enum'                  => array( 'post', 'file', 'none' ),
    			'default'               => 'post',
    			'media_prop'            => 'link',
    			'should_preview_update' => false,
    		),
    		'orderby_random' => array(
    			'type'                  => 'boolean',
    			'default'               => false,
    			'media_prop'            => '_orderbyRandom',
    			'should_preview_update' => false,
    		),
    	);

    	/** This filter is documented in wp-includes/widgets/class-wp-widget-media.php */
    	$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-gallery.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/widgets/class-wp-widget-media-gallery.php#L57)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/widgets/class-wp-widget-media-gallery.php#L57-L104)

## 󠀁[Hooks](https://developer.wordpress.org/reference/classes/wp_widget_media_gallery/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_gallery/get_instance_schema/?output_format=md#related)󠁿

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

Gets the available intermediate image size names.

  | 
| [__()](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.

  |

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

| Used by | Description | 
| [WP_Widget_Media_Gallery::render_media()](https://developer.wordpress.org/reference/classes/wp_widget_media_gallery/render_media/)`wp-includes/widgets/class-wp-widget-media-gallery.php` |

Render the media on the frontend.

  | 
| [WP_Widget_Media_Gallery::enqueue_admin_scripts()](https://developer.wordpress.org/reference/classes/wp_widget_media_gallery/enqueue_admin_scripts/)`wp-includes/widgets/class-wp-widget-media-gallery.php` |

Loads the required media files for the media manager and scripts for media widgets.

  |

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

| Version | Description | 
| [4.9.0](https://developer.wordpress.org/reference/since/4.9.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_gallery%2Fget_instance_schema%2F)
before being able to contribute a note or feedback.