Title: WP_Widget_Media_Audio::get_instance_schema
Published: June 15, 2017
Last modified: February 24, 2026

---

# WP_Widget_Media_Audio::get_instance_schema(): array

## In this article

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

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

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

 array Schema for properties.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_widget_media_audio/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'     => 'none',
    			'description' => __( 'Preload' ),
    		),
    		'loop'    => array(
    			'type'        => 'boolean',
    			'default'     => false,
    			'description' => __( 'Loop' ),
    		),
    	);

    	foreach ( wp_get_audio_extensions() as $audio_extension ) {
    		$schema[ $audio_extension ] = array(
    			'type'        => 'string',
    			'default'     => '',
    			'format'      => 'uri',
    			/* translators: %s: Audio extension. */
    			'description' => sprintf( __( 'URL to the %s audio source file' ), $audio_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-audio.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/widgets/class-wp-widget-media-audio.php#L66)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/widgets/class-wp-widget-media-audio.php#L66-L92)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_widget_media_audio/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_audio_extensions()](https://developer.wordpress.org/reference/functions/wp_get_audio_extensions/)`wp-includes/media.php` |

Returns a filtered list of supported audio 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_audio/get_instance_schema/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_widget_media_audio/get_instance_schema/?output_format=md#)

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

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

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

Render the media on the frontend.

  |

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