Title: WP_Widget_Media::form
Published: June 15, 2017
Last modified: February 24, 2026

---

# WP_Widget_Media::form( array $instance )

## In this article

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

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

Outputs the settings update form.

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

Note that the widget UI itself is rendered with JavaScript via `MediaWidgetControl#
render()`.

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

 * [WP_Widget_Media::render_control_template_scripts()](https://developer.wordpress.org/reference/classes/WP_Widget_Media/render_control_template_scripts/):
   Where the JS template is located.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_widget_media/form/?output_format=md#parameters)󠁿

 `$instance`arrayrequired

Current settings.

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

    ```php
    final public function form( $instance ) {
    	$instance_schema = $this->get_instance_schema();
    	$instance        = wp_array_slice_assoc(
    		wp_parse_args( (array) $instance, wp_list_pluck( $instance_schema, 'default' ) ),
    		array_keys( $instance_schema )
    	);

    	foreach ( $instance as $name => $value ) : ?>
    		<input
    			type="hidden"
    			data-property="<?php echo esc_attr( $name ); ?>"
    			class="media-widget-instance-property"
    			name="<?php echo esc_attr( $this->get_field_name( $name ) ); ?>"
    			id="<?php echo esc_attr( $this->get_field_id( $name ) ); // Needed specifically by wpWidgets.appendTitle(). ?>"
    			value="<?php echo esc_attr( is_array( $value ) ? implode( ',', $value ) : (string) $value ); ?>"
    		/>
    		<?php
    	endforeach;
    }
    ```

[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/6.9.4/src/wp-includes/widgets/class-wp-widget-media.php#L338)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/widgets/class-wp-widget-media.php#L338-L356)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_widget_media/form/?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_array_slice_assoc()](https://developer.wordpress.org/reference/functions/wp_array_slice_assoc/)`wp-includes/functions.php` |

Extracts a slice of an array, given a list of keys.

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

Plucks a certain field out of each object or array in an array.

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

Escaping for HTML attributes.

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

Merges user defined arguments into defaults array.

  |

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

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