WP_Customize_Upload_Control

Customize Upload Control Class.

Description

See also

More Information

This class is used with the Theme Customization API to allow a user to upload a file on the Theme Customizer in WordPress 3.4 or newer.

or more information on available Theme Customizer controls, see the codex entry for WP_Customize_Manager->add_control()

To force a specific image size see: WP_Customize_Cropped_Image_Control

Source

File: wp-includes/customize/class-wp-customize-upload-control.php

class WP_Customize_Upload_Control extends WP_Customize_Media_Control {
	/**
	 * Control type.
	 *
	 * @since 3.4.0
	 * @var string
	 */
	public $type = 'upload';

	/**
	 * Media control mime type.
	 *
	 * @since 4.1.0
	 * @var string
	 */
	public $mime_type = '';

	/**
	 * Button labels.
	 *
	 * @since 4.1.0
	 * @var array
	 */
	public $button_labels = array();

	public $removed = '';         // Unused.
	public $context;              // Unused.
	public $extensions = array(); // Unused.

	/**
	 * Refresh the parameters passed to the JavaScript via JSON.
	 *
	 * @since 3.4.0
	 *
	 * @uses WP_Customize_Media_Control::to_json()
	 */
	public function to_json() {
		parent::to_json();

		$value = $this->value();
		if ( $value ) {
			// Get the attachment model for the existing file.
			$attachment_id = attachment_url_to_postid( $value );
			if ( $attachment_id ) {
				$this->json['attachment'] = wp_prepare_attachment_for_js( $attachment_id );
			}
		}
	}
}

Methods

  • __construct — Constructor.
  • content_template — Render a JS template for the content of the upload control.
  • enqueue — Enqueue control related scripts/styles.
  • render_content — Don't render any content for this control from PHP.
  • to_json — Refresh the parameters passed to the JavaScript via JSON.

Changelog

Version Description
3.4.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_customize_upload_control