class 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

Methods

NameDescription
WP_Customize_Upload_Control::to_jsonRefresh the parameters passed to the JavaScript via JSON.

Source

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 );
			}
		}
	}
}

Changelog

VersionDescription
3.4.0Introduced.

User Contributed Notes

  1. Skip to note 2 content

    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.

    $wp_customize->add_control( 
    	new WP_Customize_Upload_Control( 
    	$wp_customize, 
    	'your_setting_id', 
    	array(
    		'label'      => __( 'Header Color', 'mytheme' ),
    		'section'    => 'your_section_id',
    		'settings'   => 'your_setting_id',
    	) ) 
    );

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