WordPress at a glance
function is not described

WP_Customize_Media_Control::to_json() WP 3.4.0

Refresh the parameters passed to the JavaScript via JSON.

This is a method of the class: WP_Customize_Media_Control

No Hooks.

Return

Null. Nothing.

Usage

$WP_Customize_Media_Control = new WP_Customize_Media_Control();
$var = $WP_Customize_Media_Control->to_json();

Notes

  • See: WP_Customize_Control::to_json()

Changelog

Since 3.4.0 Introduced.
Since 4.2.0 Moved from WP_Customize_Upload_Control.

Code of WP Customize Media Control::to json: wp-includes/customize/class-wp-customize-media-control.php WP 5.2.2

<?php
public function to_json() {
	parent::to_json();
	$this->json['label']         = html_entity_decode( $this->label, ENT_QUOTES, get_bloginfo( 'charset' ) );
	$this->json['mime_type']     = $this->mime_type;
	$this->json['button_labels'] = $this->button_labels;
	$this->json['canUpload']     = current_user_can( 'upload_files' );

	$value = $this->value();

	if ( is_object( $this->setting ) ) {
		if ( $this->setting->default ) {
			// Fake an attachment model - needs all fields used by template.
			// Note that the default value must be a URL, NOT an attachment ID.
			$type               = in_array( substr( $this->setting->default, -3 ), array( 'jpg', 'png', 'gif', 'bmp' ) ) ? 'image' : 'document';
			$default_attachment = array(
				'id'    => 1,
				'url'   => $this->setting->default,
				'type'  => $type,
				'icon'  => wp_mime_type_icon( $type ),
				'title' => wp_basename( $this->setting->default ),
			);

			if ( 'image' === $type ) {
				$default_attachment['sizes'] = array(
					'full' => array( 'url' => $this->setting->default ),
				);
			}

			$this->json['defaultAttachment'] = $default_attachment;
		}

		if ( $value && $this->setting->default && $value === $this->setting->default ) {
			// Set the default as the attachment.
			$this->json['attachment'] = $this->json['defaultAttachment'];
		} elseif ( $value ) {
			$this->json['attachment'] = wp_prepare_attachment_for_js( $value );
		}
	}
}