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.
'label' => __( 'Base Color Scheme', 'twentyfifteen' ),
'description' => __( 'Applied to the header on small screens and the sidebar on wide screens.', 'twentyfifteen' ),
header_image(only when enabled),
background_image(only when enabled),
'section' => 'colors',
'type' => 'select',
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.
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