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

---

# WP_Widget_Media::__construct( string $id_base, string $name, array $widget_options = array(), array $control_options = array() )

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_widget_media/__construct/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/classes/wp_widget_media/__construct/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_widget_media/__construct/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_widget_media/__construct/?output_format=md#changelog)

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

Constructor.

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

 `$id_base`stringrequired

Base ID for the widget, lowercase and unique.

`$name`stringrequired

Name for the widget displayed on the configuration page.

`$widget_options`arrayoptional

Widget options. See [wp_register_sidebar_widget()](https://developer.wordpress.org/reference/functions/wp_register_sidebar_widget/)
for information on accepted arguments.

Default:`array()`

`$control_options`arrayoptional

Widget control options. See [wp_register_widget_control()](https://developer.wordpress.org/reference/functions/wp_register_widget_control/)
for information on accepted arguments.

Default:`array()`

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

    ```php
    public function __construct( $id_base, $name, $widget_options = array(), $control_options = array() ) {
    	$widget_opts = wp_parse_args(
    		$widget_options,
    		array(
    			'description'                 => self::get_default_description(),
    			'customize_selective_refresh' => true,
    			'show_instance_in_rest'       => true,
    			'mime_type'                   => '',
    		)
    	);

    	$control_opts = wp_parse_args( $control_options, array() );

    	$this->l10n = array_merge( self::get_l10n_defaults(), array_filter( $this->l10n ) );

    	parent::__construct(
    		$id_base,
    		$name,
    		$widget_opts,
    		$control_opts
    	);
    }
    ```

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

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

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

Returns the default description of the widget.

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

Returns the default localized strings used by the widget.

  | 
| [WP_Widget::__construct()](https://developer.wordpress.org/reference/classes/wp_widget/__construct/)`wp-includes/class-wp-widget.php` |

PHP5 constructor.

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

Merges user defined arguments into defaults array.

  |

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

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

Constructor.

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

Constructor.

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

Constructor.

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

Constructor.

  |

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