This page redirects to an external site: https://developer.wordpress.org/reference/classes/wp_customize_manager/add_control/
Displays a new controller on the Theme Customization admin screen (available in WordPress 3.4 or newer). Controls serve two purposes: they create a "physical" control that allows a user to manipulate a setting, and it also binds a pre-defined setting to a pre-defined section.
This is a method of the WP_Customize_Manager() class and can only be accessed through the $wp_customize object within the customize_register action hook.
$wp_customize->add_control($id, $args);
'label' => __( 'Base Color Scheme', 'twentyfifteen' ),'description' => __( 'Applied to the header on small screens and the sidebar on wide screens.', 'twentyfifteen' ),themes, title_tagline, colors, header_image (only when enabled), background_image (only when enabled), static_front_page. Example: 'section' => 'colors',text, checkbox, radio, select, textarea, dropdown-pages, email, url, number, hidden, and date. Example: 'type' => 'textarea',get_theme_mod('header_color');. If you selected "option" type in https://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_setting then you can add here a plain word like "theme_name_header_color" which will be obtainable with get_option('theme_name_header_color');. Serialized values like "my_namespace[header_color]" are allowed in both cases, however you probably don't need to serialize it when using "theme_mod" as it's already stored in the database as a serialized entry. If not defined, then the $id as the setting ID is used.'choices'=> twentyfifteen_get_color_scheme_choices(), 'input_attrs' => array( 'min' => 0, 'max' => 10, 'step' => 2 )Custom controls can also be created. For more information, see this post on Ottopress.com
Remember that this example assumes you are already working within the customize_register action hook.
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'your_control_id', array( 'label' => __( 'Header Color', 'mytheme' ), 'section' => 'your_section_id', 'settings' => 'your_setting_id', 'priority' => 1 ) ));
Alternatively, it is not required to instantiate a WP_Customize_Control object. WordPress will check to see if you are passing in an object and, if absent, will create a new WP_Customize_Control object with the arguments you have passed in.
$wp_customize->add_control( 'your_control_id', array( 'label' => __( 'Control Label', 'mytheme' ), 'section' => 'your_section_id', 'settings' => 'your_setting_id', 'type' => 'radio', 'choices' => array( 'left' => 'left', 'right' => 'right', ), ) );
Note the 'type' argument is available to specify the input type of the control form element. For more information on these arguments, please refer to WP_Customize_Control
To force a specific image size see: WP_Customize_Cropped_Image_Control