WP_Widget_Media_Image::enqueue_admin_scripts()

In this article

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

Source

public function enqueue_admin_scripts() {
	parent::enqueue_admin_scripts();

	$handle = 'media-image-widget';
	wp_enqueue_script( $handle );

	$exported_schema = array();
	foreach ( $this->get_instance_schema() as $field => $field_schema ) {
		$exported_schema[ $field ] = wp_array_slice_assoc( $field_schema, array( 'type', 'default', 'enum', 'minimum', 'format', 'media_prop', 'should_preview_update' ) );
	}
	wp_add_inline_script(
		$handle,
		sprintf(
			'wp.mediaWidgets.modelConstructors[ %s ].prototype.schema = %s;',
			wp_json_encode( $this->id_base ),
			wp_json_encode( $exported_schema )
		)
	);

	wp_add_inline_script(
		$handle,
		sprintf(
			'
				wp.mediaWidgets.controlConstructors[ %1$s ].prototype.mime_type = %2$s;
				wp.mediaWidgets.controlConstructors[ %1$s ].prototype.l10n = _.extend( {}, wp.mediaWidgets.controlConstructors[ %1$s ].prototype.l10n, %3$s );
			',
			wp_json_encode( $this->id_base ),
			wp_json_encode( $this->widget_options['mime_type'] ),
			wp_json_encode( $this->l10n )
		)
	);
}

Changelog

VersionDescription
4.8.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.